在Action Bar上添加操作按钮

这些是在官方API上看到的

1.添加button按钮


 1)在xml文件中指定操作栏显示的按钮

所有的操作按钮和动作溢出提供的其他项目是在一个XML定义的菜单资源。将动作添加到动作栏中,在项目中创建的一个新的XML文件 res /menu/目录下。

Item表示在操作栏中显示的你想要显示的功能键

   

     

     android:icon="@drawable/ic_action_search"            

     android:title="@string/action_search"         

     android:showAsAction="ifRoom" />    

!-- Settings, should always be in the overflow -->    

     android:title="@string/action_settings"        

     android:showAsAction="never" />

如果你的项目要兼容2.1以下的版本:

 

xmlns:android="http://schemas.android.com/apk/res/android"      xmlns:yourapp="http://schemas.android.com/apk/res-auto" >   

     

 

        android:id="@+id/action_search"          

        android:icon="@drawable/ic_action_search"         

        android:title="@string/action_search"       

        yourapp:showAsAction="ifRoom"  />
    ...

 

2)将刚才设置的功能键添加到操作栏中

若要将菜单项到动作栏中,实现 onCreateOptionsMenu()在您的活动的回调方法来刺激菜单资源到给定的菜单 对象

@Override

public boolean onCreateOptionsMenu(Menu menu) {   

 // Inflate the menu items for use in the action bar    

MenuInflater inflater = getMenuInflater();


    inflater.inflate(R.menu.main_activity_actions, menu); 

   return super.onCreateOptionsMenu(menu);}

3)点击功能键触发功能

当用户按下操作按钮,系统会调用您的活动的onOptionsItemSelected()回调方法。在实现此方法,调用getItemId(),以确定哪些项目被按下,返回ID

@Override

public boolean onOptionsItemSelected(MenuItem item) {    

// Handle presses on the action bar items    

switch (item.getItemId()) {        

case R.id.action_search:
            openSearch();            return true;        

case R.id.action_settings:
            openSettings();            return true;        

default:            return super.onOptionsItemSelected(item);    

}}

4

 ... >


       

       

    android:name="com.example.myfirstapp.MainActivity" ...>
        ...        

    

       

 android:name="com.example.myfirstapp.DisplayMessageActivity"      

     android:label="@string/title_activity_display_message"     

     android:parentActivityName="com.example.myfirstapp.MainActivity" >        

          

            

android:name="android.support.PARENT_ACTIVITY"     

android:value="com.example.myfirstapp.MainActivity"/>    

 

 

启用这个按钮

@Override

  public void onCreate(Bundle savedInstanceState) {  

super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_displaymessage);

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);    

// If your minSdkVersion is 11 or higher, instead use:   

 // getActionBar().setDisplayHomeAsUpEnabled(true);

}

你可能感兴趣的:(android,开发学习)