有时候在一些子页面或者内容页面,不需要显示ActionBar的标题栏图标。可用如下方式进行设置。
首先获取到ActionBar对象
ActionBar actionBar=getActionBar();
使用android:logo属性。不像方方正正的icon,logo的图像不会有任何宽度限制。
logo图像典型的给你的APP提供品牌。当你有Logo的时候,你可以隐藏label。
默认的,ActionBar使用Activity的android:icon属性,还有一致的android:label属性。
隐藏Label标签:actionBar.setDisplayShowTitleEnabled(false);
隐藏logo和icon:actionBar.setDisplayShowHomeEnabled(false);
设置标题,一个主标题,一个子标题
actionBar.setSubtitle(“Inbox”);
actionBar.setTitle(“Label:important”);
默认的ActionBar的背景颜色取决于activity指定的Theme。Holo Theme它的背景是黑色的。
你可以指定任意的Drawabel对象作为背景,使用setBackgroundDrawable方法:
1 | ActionBar actionBar = getActionBar(); |
2 | Resources r = getResources(); |
3 | Drawable myDrawable = r.getDrawable(R.drawable.gradient_header); |
4 | actionBar.setBackgroundDrawable(myDrawable); |
注意:ActionBar会自动缩放你的背景图
覆盖模式
默认情况下,actionBar放在你的activity的顶部,且作为activity布局的一部分。设置成为覆盖模式后,actionBar相当于漂浮在activity之上,不干预activity的布局。设置如下:
1 | @Override |
2 | public void onCreate(Bundle savedInstanceState) { |
3 | super.onCreate(savedInstanceState); |
4 |
5 | getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY); |
6 |
7 | setContentView(R.layout.main); |
8 | } |