ActionBar Displayoptions

  • displayoptions这个属性主要是控制ActionBar上面的返回按钮以及标题的显示
  • 使用
<style name="ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:displayOptions">showCustom|disableHome|showTitle|homeAsUp|</item>
</style>


setDisplayOptions(a.getInt(R.styleable.ActionBar_displayOptions, DISPLAY_DEFAULT));

ActionBar Displayoptions属性值

  • ActionBar.DISPLAY_USE_LOGO = 0x1
  • ActionBar.DISPLAY_SHOW_HOME = 0x2
  • ActionBar.DISPLAY_HOME_AS_UP = 0x4
  • ActionBar.DISPLAY_SHOW_TITLE = 0x8
  • ActionBar.DISPLAY_SHOW_CUSTOM = 0x10
  • ActionBar.DISPLAY_TITLE_MULTIPLE_LINES

Displayoptions属性的对应方法

Displayoptions

属性名

意义

DISPLAY_USE_LOGO

setDisplayUseLogoEnabled()

显示app品牌的标志比如youtube

DISPLAY_SHOW_HOME

setDisplayShowHomeEnabled()

控制左上角图标是否显示,如果设置成false 泽只有标题,设置为true, 显示应用程序的图标对应R.id.home

DISPLAY_HOME_AS_UP

setDisplayHomeAsUpEnabled()

给左上角图标的左边加上返回键

DISPLAY_SHOW_TITLE

setDisplayShowTitleEnabled()

控制标题是否显示

DISPLAY_SHOW_CUSTOM

setDisplayShowCustomEnabled()

自定义的view可以在title显示使得setCustomView可以起作用

与DISPLAY_SHOW_HOME一起使用

setHomeButtonEnabled()

决定左上角的图标是否可以点击

setDisplayUseLogoEnabled()
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_action_bar);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayUseLogoEnabled(true);
getSupportActionBar().setLogo(R.drawable.arraw);
}
setDisplayShowHomeAsUpEnabled()
  • 显示左上角返回按钮并且可点击
@Overrideprotected void onCreate(Bundle savedInstanceState) {  
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_action_bar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

ActionBar的基本属性_Android开发

setDisplayShowTitleEnabled()
  • 是否显示主副标题
getSupportActionBar().setDisplayShowTitleEnabled(true);
getSupportActionBar().setTitle("niuniu");getSupportActionBar().setSubtitle("niuniusub");
setDisplayShowCustomEnabled()
Button button = new Button(this);
button.setText("Button");
button.setTextSize(18);
getSupportActionBar().setDisplayShowCustomEnabled(true);
getSupportActionBar().setCustomView(button);

ActionBar的基本属性_Android开发_02

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