Android App 隐藏标题栏+状态栏+导航栏+获取状态栏的三种方法
2017-02-14 10:00
615 查看
1. 隐藏当前Activity标题栏
在当前Activity中调用:this.requestWindowFeature(Window.FEATURE_NO_TITLE);
2. 隐藏当前Activity状态栏(Status Bar)
2.1 Android 4.0 and Lower
[java] viewplain copy
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// If the Android version is lower than Jellybean, use this call to hide
// the status bar.
if (Build.VERSION.SDK_INT < 16) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
setContentView(R.layout.activity_main);
}
...
}
2.2 Android 4.1 and Higher
[java] viewplain copy
View decorView = getWindow().getDecorView();
// Hide the status bar.
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
// Remember that you should never show the action bar if the
// status bar is hidden, so hide that too if necessary.
ActionBar actionBar = getActionBar();
actionBar.hide();
3. 隐藏当前Activity界面的导航栏(NavigationBar)
在Android4.0及以后版本中,可通过以下方法隐藏NavigationBar[java] view
plain copy
View decorView = getWindow().getDecorView();
// Hide both the navigation bar and the status bar.
// SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
// a general rule, you should design your app to hide the status bar whenever you
// hide the navigation bar.
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
4. 隐藏所有Activity界面的标题栏
修改AndroidManifest.xml 在application 标签中添加a
android:theme="@android:style/Theme.NoTitleBar"
5. 隐藏所有Activity界面的TitleBar 和StatusBar
修改AndroidManifest.xml 在application 标签中添加
Android:theme="@android:style/Theme.NoTitleBar.Fullscreen"、、
获取状态栏的三种方法
通过反射获取
public int getStatusBarHeight(){ if(statusBarHeight==0){ Class<?> c; try { c = Class.forName("com.android.internal.R$dimen"); Object o = c.newInstance(); Field field = c.getField("status_bar_height"); int x = (Integer) field.get(o); statusBarHeight = getResources().getDimensionPixelSize(x); }catch(Exception e) { e.printStackTrace(); } } return statusBarHeight; }1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
根据资源ID获取
public int getStatusBarHeight1(){ if(statusBarHeight==0){ int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android"); if(resourceId>0){ statusBarHeight = getResources().getDimensionPixelSize(resourceId); } } return statusBarHeight; }1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
通过当前窗口对象获取,貌似有局限性
public int getStatusBarHeight2(){ if(statusBarHeight==0){ Rect rect = new Rect(); Window window = getWindow(); window.getDecorView().getWindowVisibleDisplayFrame(rect); statusBarHeight = rect.top; } return statusBarHeight; }
相关文章推荐
- Android App 隐藏标题栏+状态栏+导航栏
- Android App 隐藏标题栏+状态栏+导航栏
- Android学习——获取状态栏,标题栏,导航栏高度的方法
- Android App 隐藏标题栏+状态栏+导航栏
- Android App 隐藏标题栏+状态栏+导航栏
- Android App 隐藏标题栏+状态栏+导航栏
- Android App 隐藏标题栏+状态栏+导航栏
- Android App 隐藏标题栏+状态栏+导航栏
- Android App 隐藏标题栏+状态栏+导航栏
- Android标题栏和状态栏的隐藏功能设置方法
- Android学习 之 获取可视区域的Rect对象(顺带获取状态栏和标题栏高度的方法)
- Android全屏(包含3种隐藏顶部状态栏及标题栏和一种隐藏Android 4.0平板底部状态栏的方法)
- 3种Android隐藏顶部状态栏及标题栏的方法
- Android中隐藏状态栏和标题栏的方法汇总(隐藏状态栏、标题栏的五种方法)
- Android app状态栏与导航栏统一风络方法
- Android中隐藏状态栏和标题栏的方法汇总(隐藏状态栏、标题栏的五种方法)
- 3种Android隐藏顶部状态栏及标题栏的方法
- Android全屏(包含3种隐藏顶部状态栏及标题栏和一种隐藏Android 4.0平板底部状态栏的方法)
- Android全屏(包含3种隐藏顶部状态栏及标题栏和一种隐藏Android 4.0平板底部状态栏的方法)
- Android隐藏标题栏、状态栏,获取…