Android 系统UI状态栏设置

上XX天,从头开始学习Android,讲到设置Theme,这次作为上次的延续;来搞系统UI元素

<!--无导航栏 -->
<item name="windowActionBar">false</item>
<!--无标题栏 -->
<item name="windowNoTitle">true</item>
<!--全屏-->
<item name="android:windowFullscreen">true</item>

Java代码设置:
在onCreate中设置

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //ACTION_BAR的动态设置需要Android 4.1以上版本
        //FEATURE_ACTION_BAR_OVERLAY页面变化不会影响Actvity内容,否则会内容也跟着变化
    requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
        setContentView(R.layout.activity_main);
        ....

view中设置:

  public void toggle(View v) {
        Log.d(TAG, v.toString());
        //---start设置传说中的熄灯模式夜间模式
        int curentV = v.getSystemUiVisibility();
        int newV;
        if ((curentV & View.SYSTEM_UI_FLAG_LOW_PROFILE) == View.SYSTEM_UI_FLAG_LOW_PROFILE) {
            newV = View.SYSTEM_UI_FLAG_VISIBLE;
        } else {
            newV = View.SYSTEM_UI_FLAG_LOW_PROFILE;
        }
        v.setSystemUiVisibility(newV);//熄灯模式
        //--end

//        v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);//隐藏导航控件
        v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_FULLSCREEN);//隐藏系统元素时不移动应用的布局
//        v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);//全屏
    }

Android 4.4 API 19引入透明状态栏,透明导航栏

<!--透明状态栏 -->
 <item name="android:windowTranslucentStatus">true</item>
 <!--透明导航栏-->
 <item name="android:windowTranslucentNavigation">true</item>

在res/values-v19/styles.xml 的给主题设置上上述两个属性就可以实现透明状态栏和导航栏
在API21 Android给了更多地状态栏的设置,如

 <item name="android:windowDrawsSystemBarBackgrounds">true</item>
 <item name="android:statusBarColor">@android:color/transparent</item>

后记:
在我试着使用toggle设置系统UI时, 因为我的代码中又EditText输入弹出软键盘,我点击按钮调用toggle时,是没有效果. 隐藏了输入法效果才会出现.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值