首页 > 代码库 > ActionBar基础学习之头部返回菜单
ActionBar基础学习之头部返回菜单
在开写之前需要先引入工程包lib_v7_appcompat,里面为我们提供了ActionBarActivity等许多相关类。
先新建一个activity来继承ActionBarActivity,在里面进行一些基本设置,如下:
/** * ActionBar基础activity,进行统一的属性设置 <br> * 所有顶部带有actionbar的类都继承此类。 * * @author leetoney * @time 2015年1月31日17:28:00 * */ public class BaseActionBarActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); // 设置窗口风格为顶部显示Actionbar supportRequestWindowFeature(WindowCompat.FEATURE_ACTION_BAR); ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayShowTitleEnabled(true); actionBar.setDisplayHomeAsUpEnabled(true); // 决定左上角图标的右侧是否有向左的小箭头, true // 有小箭头,并且图标可以点击 actionBar.setDisplayShowHomeEnabled(false); // 使左上角图标是否显示,如果设成false,则没有程序图标,仅仅就个标题, // 否则,显示应用程序图标,对应id为android.R.id.home,对应ActionBar.DISPLAY_SHOW_HOME // force use of overflow menu on devices with menu button // 在actionbar中显示溢出菜单选项 // http://stackoverflow.com/questions/9286822/how-to-force-use-of-overflow-menu-on-devices-with-menu-button try { ViewConfiguration config = ViewConfiguration.get(this); Field menuKeyField = ViewConfiguration.class .getDeclaredField("sHasPermanentMenuKey"); if (menuKeyField != null) { menuKeyField.setAccessible(true); menuKeyField.setBoolean(config, false); } } catch (Exception ex) { // Ignore } } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home:// 点击返回图标事件 this.finish(); default: return super.onOptionsItemSelected(item); } } }
然后在MainActivity中继承这个BaseActionBarActivity,这里只设置了标题。
public class MainActivity extends BaseActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getSupportActionBar().setTitle("返回"); } }效果如图:
ActionBar基础学习之头部返回菜单
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。