ActionBar 知识点:
setHomeButtonEnabled
这个小于 4.0 版本的默认值为 true 的。但是在 4.0 及以上的是 false,该方法的作用:决定左上角的图标是否可以点击。没有向左的小图标。true:图标可以点击,false 不可以点击;actionBar.setDisplayHomeAsUpEnabled(true)
给左上角图标的左边加上一个返回的图标。对应 ActionBar.DISPLAY_HOME_AS_UP;
mActionBar.setDisplayShowHomeEnabled(true)
使左上角图标是否显示,如果设成 fasle,则没有程序图标,仅仅就一个标题,否则,显示应用程序图标,对应 id 为 Android.R.id.home,对应:ActionBar.DISPLAY_SHOW_HOME;`mActionBar.setDisplayShowCustomEnabled(true) 事自定义的普通 View 能在 title 栏显示,即 mActionBar.setCustomView 能起作用,对应 ActionBar.DISPLAY_SHOW_CUSTOM;
`mActionBar.setDisplayShowTitleEnabled(true) 对应 ActionBar.DISPLAY_SHOW_TITLE。
其中 setHomeButtonEnabled 和 setDisplayShowHomeEnabled 共同起作用,如果 setHomeButtonEnabled 设成 false,即使 setDisplayShowHomeEnabled 设成 true,图标也不能点击。
1 | /** |
设置 Actionbar.setTitle()标题,则会覆盖原应用名称显示,如图:
设置自定义 View
1 | mActionBar.setDisplayShowCustomEnabled(true);//显示自定义View |
** 如果设置了自定义 View,那么 ActionBar title 则会被自定义 view 占据位置 **
- 如何计算 ActionBar 高度:
1 | /** |
ActionBar 的隐藏方式
使用代码隐藏
getSupportActionBar().hide();
//隐藏掉整个 ActionBar;- 在 Activity 中
setContentView
之前设置requestWindowFeature(Window.FEATURE_NO_TITLE);
即可;
使用配置隐藏
- 在需要隐藏的 Activity 的
AndroidManifest.xml
文件中设置主题
1 | <activity android:name=".activity.CoordinatorLayoutSampleActivity" |
1 | <style name="Theme.AppCompat.Light.NoActionBar"> |