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); }