美文网首页
Android开发的一些记录

Android开发的一些记录

作者: 让我爱胡蝶 | 来源:发表于2017-06-27 18:10 被阅读48次

概览

  • FileObserver同一路径最后一次生效
  • 修改Activity透明度
  • 检查包名是否存在
  • 对URL进行编码
  • View测量的默认处理
  • 手势监听时,onFling没有回调。设置View.setLongClickable(true)
  • Kotlin常用包Anko;compile "org.jetbrains.anko:anko-sdk15:+"

  • FileObserver对同一个文件的监听,只有最后一次监听能收到onEvent.

  • 弹出PopWindow时想修改底层透明度(底层半透明的效果),可以使用以下方法
        /**
       * 设置添加屏幕的背景透明度
       *
       * @param pContext 上下文
       * @param bgAlpha  透明度 popwindow.show的时候backgroundAlpha(0.5f);popwindow.setOnDismissListener的时候backgroundAlpha(1f);
       * @return true修改成功false修改失败
       */
      public static boolean backgroundAlpha(Context pContext, float bgAlpha) {
          if (pContext instanceof Activity) {
              WindowManager.LayoutParams lp = ((Activity) pContext).getWindow().getAttributes();
              lp.alpha = bgAlpha; //0.0-1.0
              ((Activity) pContext).getWindow().setAttributes(lp);
              return true;
          } else {
              return false;
          }
      }
    

  • 查询应用是否存在:可能会有这种情况AppliactionInfo!=null但是PackageInfo==null。
    /**
     * 根据包名判断应用是否已经安装。
     *
     * @param context     上下文
     * @param packageName 包名
     * @return 如果应用已经安装,则返回true,否则返回false.
     */
    public static boolean isPackageExist(Context context, String packageName) {
        boolean isExist = false;
        try {
            isExist = (null != context.getPackageManager().getApplicationInfo(packageName, PackageManager.GET_UNINSTALLED_PACKAGES))
                    && (null != context.getPackageManager().getPackageInfo(packageName, 0));
        } catch (NameNotFoundException e) {
        } finally {
            return isExist;
        }
    }

  • 对URL进入编码

Android 编码URL中文字符串;
我能想到的问题:中文字符和空格。重复编码也没问题。

public static String encodeUrl(String url) {
        return Uri.encode(url, "-![.:/,%?&=]");
    }

  • View测量的默认处理
    /***
     * 测量的默认处理
     * 1. EXACTLY返回定值
     * 2. UNSPECIFIED返回默认值
     * 3.AT_MOST返回最小值
     * @param measureSpace 值
     * @param default 默认值
     * @return 大小
     */
    private fun getMeasureSize(measureSpace: Int, default: Int): Int {
        var retuSize = 0
        val model = MeasureSpec.getMode(measureSpace)
        val size = MeasureSpec.getSize(measureSpace)
        when (model) {
            MeasureSpec.UNSPECIFIED -> retuSize = default
            MeasureSpec.AT_MOST -> retuSize = Math.min(default, size)
            MeasureSpec.EXACTLY -> retuSize = size
        }
        return retuSize
    }

  • 手势监听时,onFling没有回调。设置View.setLongClickable(true)

主要问题是滑动一会后,停住不滑动,过一会松手。就会出现onFling不回调。


  • Kotlin常用包Anko

引用初探Kotlin和anko进行Android开发

//anko
    compile "org.jetbrains.anko:anko-sdk15:+" // So here it's 15 too
    compile "org.jetbrains.anko:anko-appcompat-v7:+"
    compile "org.jetbrains.anko:anko-design:+"
    compile "org.jetbrains.anko:anko-recyclerview-v7:+"
  • BottomSheetDialogFragment
 @NonNull
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        BottomSheetDialog dialog = (BottomSheetDialog) super.onCreateDialog(savedInstanceState);
        rootView = View.inflate(getContext(), R.layout.work_comment_fragment, null);
        initView();
        initData();
        dialog.setContentView(rootView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (int) (getContext().getResources().getDisplayMetrics().heightPixels * 0.5)));
        mBehavior = BottomSheetBehavior.from((View) rootView.getParent());
        return dialog;
    }

相关文章

  • 0

    准备在这里记录一些Android开发方面的东西,希望能记录一些稍微有些“深度”的笔记

  • Android开发记录-MVP模式

    Android开发记录主要记录一些实用的开发模式,自定义控件视图和一些第三方的引用。也省去记不住的繁琐.. 好了!...

  • Android开发的一些记录

    概览 FileObserver同一路径最后一次生效 修改Activity透明度 检查包名是否存在 对URL进行编码...

  • 记录 Android 中一些常用的库

    记录 Android 中一些常用的库 1.PhotoView 一个旨在帮助开发者轻松实现Android Image...

  • Android Studio 编译调用C++代码

    Android Studio NDK 开发 记录在Android Studio中NDK简单开发的步骤 用到的And...

  • Android开发书籍

    一、说明   本文主要记录一篇博客Android书籍推荐,该博客主要是国内一些大牛推荐的Android开发书籍。本...

  • 浅谈Android UI渲染性能检测

    ps:记录下平时Android开发、测试过程中的一些基本的性能测试方法。抛个砖...引个玉?谈到Android性能...

  • MySQL的那些事

    我是原本 Android 开发,后来转了项目经理,在项目开发的过程中发现一些跟 MySQL 相关的东西,就想着记录...

  • 关于java的JNI和android的NDK释疑

    记录Android NDK开发相关知识,前期环境配置 自行谷歌 Android NDK 提供的组件 Android...

  • Android获取手机信息方法整理

    Android开发中我们经常会用到一些获取手机信息的方法,在这里记录一下

网友评论

      本文标题:Android开发的一些记录

      本文链接:https://www.haomeiwen.com/subject/erwecxtx.html