Action Bar是android3.0以后才引入的,主要是替代3.0以前的menu和tittle bar。在3.0之前是不能使用Action Bar功能的。这里引入了自定义的Action Bar,自定义Action bar也不是完全实现了 Action bar功能,只是在外形上相似。自定义Action bar没有实现overflow button(悬浮按钮)的功能,如果想进一步实现overflow button功能,可参考Android UI开发第十六篇——分享一个popuwindow实例.
xml
<com.nedu.android.widget.ActionBar android:id="@+id/actionbar" app:title="@string/some_title" style="@style/ActionBar" />
app:title 可选,也可以在使用时设置,actionBar.setTitle("Home")。
在Activity中,HomeAction处于Bar的最左侧,普通Action处于Bar的最右侧
ActionBar actionBar = (ActionBar) findViewById(R.id.actionbar); // You can also assign the title programmatically by passing a // CharSequence or resource id. //actionBar.setTitle(R.string.some_title); actionBar.setHomeAction(new IntentAction(this, HomeActivity.createIntent(this), R.drawable.ic_title_home_default)); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.addAction(new IntentAction(this, createShareIntent(), R.drawable.ic_title_share_default)); actionBar.addAction(new ExampleAction());自定义Action
创建自定义Action 仅需要实现一个Action接口,例如ExampleAction:
如果想修改UI属性可修改drawable、layout、values里面的文件。
private class ExampleAction extends AbstractAction { public ExampleAction() { super(R.drawable.ic_title_export_default); } @Override public void performAction(View view) { Toast.makeText(OtherActivity.this, "Example action", Toast.LENGTH_SHORT).show(); } }
如果想修改UI属性可修改drawable、layout、values里面的文件。
代码:http://download.csdn.net/detail/xyz_lmn/4710843
本文转自xyz_lmn51CTO博客,原文链接:http://blog.51cto.com/xyzlmn/1230761,如需转载请自行联系原作者