1. 隐藏当前Activity标题栏
在当前Activity中调用:this.requestWindowFeature(Window.FEATURE_NO_TITLE);
2. 隐藏当前Activity状态栏(Status Bar)
2.1 Android 4.0 and Lower
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
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
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;
}
根据资源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;
}
通过当前窗口对象获取,貌似有局限性
public int getStatusBarHeight2(){
if(statusBarHeight==0){
Rect rect = new Rect();
Window window = getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rect);
statusBarHeight = rect.top;
}
return statusBarHeight;
}