今天搭建一个基础框架时,遇到一个问题,actionbarsherlock 插件结合slidingmenu使用时,actionbar自定义问题。
终于搞定了,发下源码和注意事项。希望对大家有帮助。
首先:普及一下常识,设置。
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
下面是我这次的代码设置。
第一步:设置可以显示自定义标题栏,及logo设置:一切操作都在activity 的onCreate方法里做
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
<span style="white-space:pre"> </span>getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowCustomEnabled(true);
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setDisplayShowHomeEnabled(false);
第二部: 设置定制的自己的view
<span style="white-space:pre"> </span>getSupportActionBar().setDisplayShowHomeEnabled(false);
getSupportActionBar().setCustomView(R.layout.title_bar);
ActionBar ac = getSupportActionBar();
ac.getCustomView().findViewById(R.id.home).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
toggle();
}
});
注意不要下面这么些,有些烂手机不支持,会是你的布局乱掉:
<span style="color:#ff0000;">getSupportActionBar().setDisplayShowHomeEnabled(false);
getSupportActionBar().setCustomView(R.layout.title_bar);
ActionBar ac = getSupportActionBar();
ac.getCustomView().findViewById(R.id.home).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
toggle();
}
});</span>
写到这里吧,希望对你们有过帮助也