android问题记录总结

#.仿微信 QQ聊天布局 顶部title固定,底部是EditText,中间是RecyclerView,弹出软键盘,RecyclerView上移,标题不动

LinearLayoutManager linearLayoutManager = new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false); linearLayoutManager.setStackFromEnd(true); //关键 设置此项,当软键盘弹出时,布局会自动顶上去,在结合AndroidManifest.xml设置属性 recy.setLayoutManager(linearLayoutManager); AndroidManifest.xml

#.打包apk报错:ERROR: Received close_notify during handshake
貌似是jcenter里面的东西下载不了引起的,所以找了一下之前的工程把配置拷贝过来,果然OK了,主要修改如下
修改build.gradle

buildscript {
        repositories {
        mavenLocal()
        //        解决国内 google 访问问题 maven { url 'https://maven.google.com' }
        maven { url 'https://dl.google.com/dl/android/maven2/' }
        //      解决国内 jcenter maven2 访问问题   jcenter()  mavenCentral()
        maven{ url 'https://maven.aliyun.com/repository/public'}
        maven { url 'https://jitpack.io' }
        maven { url 'https://dl.bintray.com/umsdk/release' }
        google()
        jcenter()
        mavenCentral()
        maven { url 'https://repo1.maven.org/maven2/' }

    }
}

allprojects {
    repositories {
        mavenLocal()
        //        解决国内 google 访问问题 maven { url 'https://maven.google.com' }
        maven { url 'https://dl.google.com/dl/android/maven2/' }
        //      解决国内 jcenter maven2 访问问题   jcenter()  mavenCentral()
        maven{ url 'https://maven.aliyun.com/repository/public'}
        maven { url 'https://jitpack.io' }
        maven { url 'https://dl.bintray.com/umsdk/release' }
        google()
        jcenter()
        mavenCentral()
        maven { url 'https://repo1.maven.org/maven2/' }
    }
}

#.Manifest merger failed with multiple errors, see logs问题处理(可能引起 Warning:Default Activity not found)
首先进入命令行,输入命令
gradlew processDebugManifest --stacktrace
获取更多的log信息

#. 华为手机,翻转动画,不显示
问题描述:属性动画 rotation动画,在华为手机上 显示不出来。
问题原因:应该是手机定制系统或cpu的原因
解决方式:不用属性动画,用基础动画。
#.WebView:onReceiveError 监听,修改错误界面
问题描述:wap显示出来了,又出现错误界面了;
问题原因:onReceiveError 中直接显示错误界面,在android 6.0(23)以后,资源文件加载失败也会回调onReceiveError 。需要做判断。
解决方式:添加request.isForMainFrame()判断;需要兼容23以前的版本,以下代码:


   // 旧版本,会在新版本中也可能被调用,所以加上一个判断,防止重复显示
            @Override
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                super.onReceivedError(view, errorCode, description, failingUrl);
                if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
                    return;
                }
                // 在这里显示自定义错误页
            
            }

            // 新版本,只会在Android6及以上调用
            @TargetApi(Build.VERSION_CODES.M)
            @Override
            public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
                super.onReceivedError(view, request, error);
                if (request.isForMainFrame()){ // 或者: if(request.getUrl().toString() .equals(getUrl()))
                    // 在这里显示自定义错误页
                  
                }
            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值