2013-03-09 19 views
1

我想作一个Action Barthis one
我试图在Android SDK的样本,但它太复杂,也有像8个.java文件这一行动吧?
如何制作包含标题和2个按钮的操作栏?


ActionBarCompat


我希望有人能为我提供一个更简单的方法,更简单的方式做到这一点。因为我不认为我会将所有这8个文件复制到我的项目中,以使Action Bar工作。

回答

2

这是一种方法。

Beginns在RES /菜单文件夹添加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; 
    } 
+0

感谢您的快速回复!什么是getSupportMenuInflater()?我收到编译错误 – Alex 2013-03-09 12:52:40

+0

@JonathanHugh对不起,这是我的错误。你有关于行动条的偏好吗?我只是更新我的文章 – 2013-03-09 13:03:59

+0

强制关闭:(..问题是在onCreate()方法 – Alex 2013-03-09 13:24:51