美文网首页
android部分踩坑文档

android部分踩坑文档

作者: 过眼云烟_b6bf | 来源:发表于2020-08-28 15:09 被阅读0次

1、沉浸式图片状态栏使用ImageView控件,并且必须使用

android:background="@mipmap/img_mine_bg" 引入图片 不能使用双src引入!!!!!

2、单Activity多Fragment下自定义状态栏沉浸式+去除阴影+修改字体

// 自定义状态栏:沉浸式+去除阴影+黑色字体

privatevoidMyStatusBarDark(){

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {//5.0及以上

            View decorView = getWindow().getDecorView();

            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS

                    | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

intoption = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

                    | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;

            decorView.setSystemUiVisibility(option);

            getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

            getWindow().setStatusBarColor(Color.TRANSPARENT);

}elseif(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//4.4到5.0

            WindowManager.LayoutParams localLayoutParams = getWindow().getAttributes();

            localLayoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | localLayoutParams.flags);

        }

//修改字体颜色

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//android6.0以后可以对状态栏文字颜色和图标进行修改

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);// SYSTEM_UI_FLAG_LIGHT_STATUS_BAR :黑色字体)(SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR :白色字体

        }

3、ScrollView滑动监听

自定义ScrollView

importandroid.content.Context;

importandroid.util.AttributeSet;

importandroid.widget.ScrollView;

publicclassMyScrollViewextendsScrollView{

privateOnScrollListener listener;

publicvoidsetOnScrollListener(OnScrollListener listener){

this.listener = listener;

    }

publicMyScrollView(Context context){

super(context);

    }

publicMyScrollView(Context context, AttributeSet attrs){

super(context, attrs);

    }

publicMyScrollView(Context context, AttributeSet attrs,intdefStyleAttr){

super(context, attrs, defStyleAttr);

    }

//设置接口

publicinterfaceOnScrollListener{

voidonScroll(intscrollY);

    }

//重写原生onScrollChanged方法,将参数传递给接口,由接口传递出去

@Override

protectedvoidonScrollChanged(intl,intt,intoldl,intoldt){

super.onScrollChanged(l, t, oldl, oldt);

//        System.out.println("111111"+t);

if(listener !=null){

//这里我只传了垂直滑动的距离

            listener.onScroll(t);

        }

    }

4 . Android Studio 创建module时版本不统一

Error:Execution failed for task ':app:preDebugAndroidTestBuild'.

> Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (

解决:

configurations.all {

        resolutionStrategy.force 'com.android.support:support-annotations:27.1.1'

    }

5.

Activity退出时即时释放资源

Activity退出时所有静态变量恢复为默认值(全局静态变量)

Activity退出时移除所有Handler消息

所有的Dialog对话框调用show()方法之前必须先行判断Activity是否已经finished

EvenBus框架粘性事件使用完或退出页面时必须移除

获取Intent值前必须判断getIntent()返回是否为空

Service有效性比BroadCastReceiver更高

所有网络请求必须对各种情况做处理

作者:eagerabu

链接:https://www.jianshu.com/p/8a4049b9c280

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

  • android部分踩坑文档

    1、沉浸式图片状态栏使用ImageView控件,并且必须使用 android:background="@mipma...

  • Android 日常踩坑

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

  • 更完整的 Android 拍照实现教程

    简评:官方文档也可能会有不足,多踩坑,多分享。 作者在学习 Google 官方的 Android 拍照教程 - T...

  • 微信小程序BLE踩坑记录

    小程序BLE踩坑记录 前往官方文档 项目描述 手机小程序通过BLE向android设备发送WIFI名称/密码等信息...

  • electron踩坑记录

    electron踩坑记录 [TOC] 文档 electron官方文档:https://electronjs.org...

  • Android Material Design 踩坑记(2)

    Android Material Design 踩坑记(1) CoordinatorLayout Behav...

  • Android系统与安全

    书籍学习 外话:用书和文档镇楼,站在巨人的肩膀上,才能进步的更快,才能少踩坑,赶紧阅读吧少年们。 Android系...

  • #Android系统安全书籍

    书籍学习 外话:用书和文档镇楼,站在巨人的肩膀上,才能进步的更快,才能少踩坑,赶紧阅读吧少年们。 Android系...

  • 友盟统计集成

    友盟统计SDK经过最新一次更新后,文档并没有彻底更新,经过踩坑,总结以下踩坑经验: 首先是头文件导入,官方文档貌似...

  • Cordova踩坑日记

    Cordova踩坑日记 1.配置环境 ​ 配置SDK踩了很多坑,其实只需要下载一个 android studi...

网友评论

      本文标题:android部分踩坑文档

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