Android 坑神

作者: 汪简书 | 来源:发表于2017-07-12 15:51 被阅读68次

以下内容为本人踩过的坑,望看到这能让你踩着我的头过去吧:)

  1. xml 中分割线要用 View,不是 view

  2. 关闭资源、pop、键盘需在 onPause() 中,而不是 onStop()

  3. js 调用 Android 方法,该方法的形参最好是 String 类型,否则H5 页面中有多个 js 方法调用 Android 方法,形参是 int 为 0;

    // 进入 大主页
    @JavascriptInterface
    public void lookUserDetailedInfor(String id) { //对应js中 douQuJS.lookUserDetailedInfor(data); ps:js 调用 Android 方法,该方法的形参最好是 String 类型,否则H5 页面中有多个 js 方法调用 Android 方法,形参是 int 为 0;
        NSLog.w(TAG, "WebViewFragment{} ... lookUserDetailedInfor() --> id = " + id);
    }
  1. setClickable(true)不起作用 : setClickable(false)要放在setOnClickListener后面,否则会不起作用

  2. 当一个 view 不显示时,考虑是不是 在 new XXView() 的同时 ButterKnife 也创建一个 字段 xxView;

  3. git pull 更新最新代码时 而本地代码有改动时会报error:

error: Your local changes to the following files would be overwritten by merge:
        app/src/main/java/com/blankj/androidutilcode/activity/KeyboardActivity.java
Please commit your changes or stash them before you merge.
Aborting

解决方法:

git checkout -f
git pull
  1. 有时不弹键盘,scrollTo() 不灵,可以这样尝试下:
    HandlerUtil.runOnUiThread(new Runnable() {
        @Override
        public void run() {
            KeyboardUtil.showSoftInput(et_new_label);
        }
    }, 100);
  1. 检查项目所有的依赖包dependencies:
./gradlew -q dependencies <module-name>:dependencies --configuration compile
  1. ScrollView中监听setOnScrollChangeListener Y的位置改变titleBar的透明度,有时会影响别的页面的底色,很奇怪。这样这样尝试下:
    rl_family_title_bar.setBackgroundColor(Color.WHITE); // 若修改此 view 的透明度,必须在代码里设置背景,否则会影响一些页面的底色
    rl_family_title_bar.getBackground().setAlpha(0);

    nsv_root.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
        @Override
        public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
            int alpha = 255 * scrollY / LocalDisplay.dp2px(257);
            if (alpha < 0) {
                alpha = 0;
            } else if (alpha > 255) {
                alpha = 255;
            }
            rl_family_title_bar.getBackground().setAlpha(alpha);
            if(alpha < 128) {
                tv_title.setTextColor(Color.WHITE);
                iv_back.setImageResource(R.drawable.btn_menu_back_white);
            } else {
                tv_title.setTextColor(Color.BLACK);
                iv_back.setImageResource(R.drawable.btn_menu_back);

            }
        }
    });
  1. SurfaceView闪屏问题
getWindow().setFormat(PixelFormat.TRANSLUCENT); // in case : Android SurfaceView闪屏问题

相关文章

  • Android 坑神

    以下内容为本人踩过的坑,望看到这能让你踩着我的头过去吧:) xml 中分割线要用 View,不是 view 关闭资...

  • Android Studio如何连接夜神模拟器

    一、夜神模拟器介绍 夜神模拟器是一款PC端运行的Android模拟器,相比Android Studio自带的坑爹的...

  • Android葵花宝典

    Android葵花宝典专题正式运营,欢迎各位大佬投稿,造轮子?趟坑吐槽?自宫成神?

  • react native Cannot add a child

    在使用scrollView时,在scrollView中加入子视图,在Android模拟器上报如题错误,简直神坑,贴...

  • Error:Cannot choose between

    Android Studio升级3.0,打开以前的老项目后又给我带来了一神坑,如图: Error:Cannot c...

  • Android 日常踩坑

    1、Android NDK开发踩坑 踩坑环境 Android Studio 3.4.1,JDK 1.8 1、为什么...

  • 0x00 Android入坑之环境配置

    之所以入坑Android是因为要入坑Android逆向,所以粗略配置了一下Android的开发环境,使用Andro...

  • FFMPEG学习第二篇--关于android视频解码器踩坑

    在学习雷神的android视频解码器这篇文章的时候,又不小心踩了许多坑。这不是因为雷神的博客写的不够详细,而是随着...

  • H5学习之路

    持续更新中... 前言 从iOS开发入坑,途中掉入Android小坑,现在公司负责iOS及Android大坑,已经...

  • Android 推送点击跳转与华为推送神坑

    实现Android推送功能,选择了接入华为推送和小米推送,结果步入了华为推送的一个神坑?,需求其实很简单,就是服务...

网友评论

    本文标题:Android 坑神

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