扣扣技术交流群:460189483
一、在使用Android Studio创建新项目时,你可能会发现:
1.如果你的Activity继承的是AppCompatActivity,默认主题是有ActionBar的
2.如果你的Activity继承的是Activity,默认主题是没有ActionBar的
二、在有ActionBar的时候我们可以使用下面的方法获取其高度,然后对页面布局进行进一步修改。
// Calculate ActionBar height
TypedValue tv = new TypedValue();
int actionBarHeight = 0;
if (this.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, this.getResources().getDisplayMetrics());
Log.i("tag", "------------actionBarHeight=" + actionBarHeight);
}
我的ActionBar高度测出来是128,注意单位都是px
三、隐藏或显示ActionBar,有2种方式,可以通过XML设置主题,也可以通过代码隐藏显示
第一种方式:(修改XML文件)
找到res/values文件夹下的styles.xml文件,修改<style>标签中的parent属性值,修改为
Theme.AppCompat.NoActionBar(暗色主题) 或者 Theme.AppCompat.Light.NoActionBar(亮色主题)
第二种方式:(修改代码)
在代码中添加一行代码
getSupportActionBar().hide(); //隐藏ActionBar
getSupportActionBar().show(); //显示ActionBar