今天在修改客户所提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>
<activity android:name="com.logic.activity.Activity1" android:theme="@style/style_titlebar_normal" > </activity>
如果要在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.hide() // 影藏标题栏