一:标题栏

 

1继承Activity有效

1.1requestWindowFeature(Window.FEATURE_NO_TITLE);   

注意这句一定要写在setContentView()方法的前面,不然会报错的

 

1.2在manifest.xml中改Theme

 android:theme="@android:style/Theme.NoTitleBar"

 

2继承AppCompatActivity有效

 

2.1第一种:代码中getSupportActionBar().hide();

2.2第二种:在manifest.xml中改Theme

 

 android:theme="@style/Theme.AppCompat.Light.NoActionBar"

 

第一种会先出现标题栏,然后再消失,因为是在activity的oncreate方法中定义的,第二种相对第一种比较好一些,不会出现这种情况。

 

二;取消状态栏,和标题栏(通过顶部往下滑动还是可以出来状态栏的

继承Activity有效

requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

第二种
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

继承AppCompatActivity有效:

 

然后对应的activity设为这个主题

实现全屏:Android4.4以上包括4.4,

 

 @Override    public void onWindowFocusChanged(boolean hasFocus) {        // TODO Auto-generated method stub        super.onWindowFocusChanged(hasFocus);        if(hasFocus)        {            View decorView = getWindow().getDecorView();            decorView.setSystemUiVisibility(                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE//保持布局状态                            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION//可以显示在导航栏后面                            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION//隐藏导航栏                            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN//可以显示在状态栏后面                            | View.SYSTEM_UI_FLAG_FULLSCREEN//隐藏状态栏                            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);//显示状态栏后几秒后消失        }    }


也可放在oncreate里面setContentView之前

 

SYSTEM_UI_FLAG_IMMERSIVE 和 SYSTEM_UI_FLAG_IMMERSIVE_STICKY两种区别:

前者是将 bar 唤出后不再消失,后者是将 bar 唤出后几秒就消失,后者不触发 Listener。

获取状态栏和导航栏高度

 

方法/**        //透明状态栏        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);        //透明导航栏        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);     * 获取状态栏高度     * @param context     * @return     */    public static int getStatusBarHeight(Context context) {        int result = 0;        int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen",                "android");        if (resourceId > 0) {            result = context.getResources().getDimensionPixelSize(resourceId);        }        return result;    }    /**     * 获取导航栏高度     * @param context     * @return     */    public static int getDaoHangHeight(Context context) {        int result = 0;        int resourceId=0;        int rid = context.getResources().getIdentifier("config_showNavigationBar", "bool", "android");        if (rid!=0){             resourceId = context.getResources().getIdentifier("navigation_bar_height", "dimen", "android");            CMLog.show("高度:"+resourceId);            CMLog.show("高度:"+context.getResources().getDimensionPixelSize(resourceId) +"");            return context.getResources().getDimensionPixelSize(resourceId);        }else      

 

系统工具栏显示变化的响应

 

  注册一个 View.OnSystemUiVisibilityChangeListener 来使界面同步变化,可以在 onCreate() 方法中添加以下代码:

View decorView = getWindow().getDecorView();decorView.setOnSystemUiVisibilityChangeListener        (new View.OnSystemUiVisibilityChangeListener() {    @Override    public void onSystemUiVisibilityChange(int visibility) {        // Note that system bars will only be "visible" if none of the        // LOW_PROFILE, HIDE_NAVIGATION, or FULLSCREEN flags are set.        if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {            // TODO: The system bars are visible. Make any desired            // adjustments to your UI, such as showing the action bar or            // other navigational controls.        } else {            // TODO: The system bars are NOT visible. Make any desired            // adjustments to your UI, such as hiding the action bar or            // other navigational controls.        }    }});

 

 

 

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. android快捷设置标题样式布局
  3. Android(安卓)ndk获取手机内部存储卡的根目录方法
  4. 在线查看android源代码的3种方式
  5. Android界面设计的一点体会
  6. android 判断APP是否打开的方法
  7. react-native坑
  8. Android(安卓)反编译apk
  9. Android(安卓)在代码中动态设置字体颜色需要注意的问题

随机推荐

  1. Android中的横竖屏
  2. 我对谷歌的chromium和android发展的看法
  3. Android智能指针SP WP使用方法介绍
  4. 想做android开发工程师?这些技能都要具备
  5. FirefoxOS 系统进程初步分析 底层系统继
  6. Android中LocationManager的简单使用,获
  7. Android之permission权限列表2-另一篇文
  8. AndroidUI设计之 布局管理器 - 详细解析
  9. Android(安卓)-- AppWidget 高级篇
  10. 国内Android(安卓)市场调查