如何制作包含标题和2个按钮的操作栏?

时间:2013-03-09 12:24:25

标签: android android-actionbar

我想要Action Bar喜欢 this one
我在Android sdk中尝试了这个示例,但它太复杂了,这个Action Bar有8个.java个文件?


ActionBarCompat


我希望有人可以为我提供更简单的方法和更简单的方法。因为我不认为我会将所有这8个文件复制到我的项目中以便Action Bar工作。

1 个答案:

答案 0 :(得分:2)

这是一种方法。

开始在res / menu文件夹中添加一个meny布局 action_bar_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_one"
        android:icon="@drawable/icon1.png"
        android:showAsAction="always"
        android:title="One">
    </item>
    <item
        android:id="@+id/action_two"
        android:icon="@drawable/icon2.png"
        android:showAsAction="always"
        android:title="Two">
    </item>

</menu>

在您的活动中

 @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ActionBar actionBar = getActionBar();
    actionBar.setTitle("your title"); 
    // add the custom view to the action bar
    //actionBar.setCustomView(R.layout.actionbar_view);

    actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM
        | ActionBar.DISPLAY_SHOW_HOME);
  }


 @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      getMenuInflater().inflate(R.menu.action_bar_menu, menu);
      return true;
   }

   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
      switch (item.getItemId()) {
      case R.id.action_one:
         //put your business logic here
         break;
      case R.id.action_two:
         //put your business logic here
         break;
     case android.R.id.home:
        //put your business logic here
     break;
      default:
         // Nothing to do here 
      }
      return true;
   }