actionbar图标

徐瑞
2023-12-01

今天在修改客户所提BUG时,遇到了有些界面需要修改ActionBar的返回图标,上网查了下,有两种方式可以修改:

1.

java代码中修改:

actionBar = getActionBar();              actionBar.setDisplayHomeAsUpEnabled(true);                    actionBar.setHomeAsUpIndicator(R.drawable.back);

如果有错误提示 Call requires API level 18 (current min is 14): android.app.ActionBar#setHomeAsUpIndicator

说明当前的最小API等级低于18  那么就参考第二种方法了

2.

xml文件中修改:在styles.xml中新增一种style

<style name="style_titlebar_normal" parent="Theme.AppCompat.Light">             <item name="android:homeAsUpIndicator">@drawable/back</item> <!--返回icon-->        </style>

然后在AndroidManifest.xml中 在其Activity 的theme中设置成该style

<activity                  android:name="com.logic.activity.Activity1"                  android:theme="@style/style_titlebar_normal"                  >              </activity>

主要是用到 homeAsUpIndicator 这个属性。


如果要在actionbar的name前面加上一个图标,只要将对应themes的

<item name="android:displayOptions">showTitle</item>

添加一个 showHome| 即可


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

actionBar.setDisplayShowHomeEnabled(true)   //使左上角图标可点击,对应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


actionBar.hide()   //  影藏标题栏

actionBar.show()  // 显示标题栏
 类似资料: