2014-05-22 71 views
-3

我正在尝试在ActionBar中的3个点按钮旁边创建一个New按钮(仅限图标)。这是我尝试的代码,但它将它添加为3点按钮的子项。创建新按钮Android

main_activity_actions.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/create_game" 
     android:menuCategory="container" 
     android:orderInCategory="1" 
     android:title="@string/new_game" 
     android:titleCondensed="nieuw spel"> 
    </item> 

</menu> 

MainActivity.java:

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.main_activity_actions, menu); 
    return true; 
} 

另外,我怎么能找到我可以使用哪些默认图标?

回答

1

要在操作栏中显示图标,可以将行android:showAsAction="always"添加到您的XML项目中。只有当它判断操作栏中有足够的空间时,Android才会显示它。如果你总是想要显示你的按钮,你可以为你的操作栏定义和设置一个自定义布局。

您可以从https://developer.android.com/design/downloads/index.html

+0

如何添加设置为我的项目的图标? –

+0

您可以将想要使用的图标复制到项目中的drawables文件夹中,然后将此资源作为背景添加到XML项目中,如下所示:android:background =“@ drawable/myninepatch” – Price

0

是的,你可以膨胀的自定义动作条的添加按钮有相似图片:

@Override protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    LayoutInflater inflater = (LayoutInflater) getActionBar() 
      .getThemedContext() 
      .getSystemService(LAYOUT_INFLATER_SERVICE); 
    View customActionBarView = inflater.inflate(R.layout.actionbar_custom, null); 
    ActionBar actionBar = getActionBar(); 
    actionBar.setDisplayOptions(
      ActionBar.DISPLAY_SHOW_CUSTOM, 
      ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE); 
    actionBar.setCustomView(customActionBarView, 
     new ActionBar.LayoutParams(
       ViewGroup.LayoutParams.MATCH_PARENT, 
       ViewGroup.LayoutParams.MATCH_PARENT)); 

    setContentView(R.layout.activity_main); 
} 

凡_actionbar_custom.xml_将是布局资源,通常是LinearLayout你想要的任何部件。

0

下载默认图标操作栏设置试试

/res/menu/activity_main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/menu_settings" 
     android:showAsAction="never" 
     android:title="@string/menu_settings"/> 

    <item 
     android:id="@+id/menu_save" 
     android:showAsAction="ifRoom" 
     android:icon="@android:drawable/ic_menu_save" 
     android:title="@string/menu_guardar"/> 

    <item 
     android:id="@+id/menu_new" 
     android:showAsAction="ifRoom|withText" 
     android:icon="@android:drawable/ic_menu_add" 
     android:title="@string/menu_nuevo"/> 
</menu> 

MainActivit.class

public class MainActivity extends Activity { 

    //... 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.activity_main, menu); 
     return true; 
    } 
} 

//onClic item 
@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.menu_new: 
      Log.i("ActionBar", "Nuevo!"); 
      return true; 
     case R.id.menu_save: 
      Log.i("ActionBar", "Guardar!");; 
      return true; 
     case R.id.menu_settings: 
      Log.i("ActionBar", "Settings!");; 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 

,你可以下载所有IconPack这里:

https://developer.android.com/design/downloads/index.html