自定义ActionBar

Posted 牛皮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义ActionBar相关的知识,希望对你有一定的参考价值。

/**
* 1.创建ActionBar对象getSupportActionBar()
* 2.布置自己的ActionBar布局(在res/layout)
* 3.把自定义的ActionBar布局加载到ActionBar上( actionBar.setDisplayShowCustomEnabled(true);这个必须写)
*
*/
public class MainActivity extends AppCompatActivity {
private ImageView mImageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(R.layout.actionbar_layout); //加载上自己的布局
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(false);
}

}

setHomeButtonEnabled这个小于4.0版本的默认值为true的。但是在4.0及其以上是false,该方法的作用:决定左上角的图标是否可以点击。没有向左的小图标。 true 图标可以点击  false 不可以点击。

 actionBar.setDisplayHomeAsUpEnabled(true)    // 给左上角图标的左边加上一个返回的图标 。对应ActionBar.DISPLAY_HOME_AS_UP

 actionBar.setDisplayShowHomeEnabled(true)   //使左上角图标是否显示,如果设成false,则没有程序图标,仅仅就个标题,否则,显示应用程序图标,对应id为Android.R.id.home,对应ActionBar.DISPLAY_SHOW_HOME

 actionBar.setDisplayShowCustomEnabled(true)  // 使自定义的普通View能在title栏显示,即actionBar.setCustomView能起作用,对应ActionBar.DISPLAY_SHOW_CUSTOM

 actionBar.setDisplayShowTitleEnabled(true)   //对应ActionBar.DISPLAY_SHOW_TITLE。

其中setHomeButtonEnabled和setDisplayShowHomeEnabled共同起作用,如果setHomeButtonEnabled设成false,即使setDisplayShowHomeEnabled设成true,图标也不能点击

以上是关于自定义ActionBar的主要内容,如果未能解决你的问题,请参考以下文章

隐藏系统自带的标题栏

ActionBar

如何在ActionBar(Android)中添加按钮?

覆盖片段中的后退按钮

将返回按钮添加到操作栏

个人感觉设置全屏目前看到最好的方法