1、Android Studio (api 23) 新建项目的时候 Activity
public class MainActivity extends AppCompatActivity
2、系统默认样式
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
3、运行就可以看到ActionBar,下面的问题是我们如何来自定义ActionBar来完成我们的任务
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
ActionBar actionBar = getSupportActionBar();
1)使用自定义view
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(R.layout.layout);
View actionView = actionBar.getCustomView();
actionView.findViewById(R.id.actionBarUp).setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {
LogUtil.i("test","actionview");
}
});
2)就使用系统的view
actionBar.setHomeButtonEnabled(true);
/*
* 在应用程序图标的左边显示一个向左的箭头,
*
* 并且将HomeButtonEnabled设为true。
*
* 默认为false。
*/
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDefaultDisplayHomeAsUpEnabled(true);
//换个图标
actionBar.setHomeAsUpIndicator(R.mipmap.ic_left_x);
3) 加个事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case android.R.id.home:
showClick();
break;
case R.id.mnu_refresh: break;
default:
break;
}
return super.onOptionsItemSelected(item);
}