您的位置:首页 > 产品设计 > UI/UE

Android 系统UI状态栏设置

2015-11-07 21:45 519 查看
上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时,是没有效果. 隐藏了输入法效果才会出现.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: