2014-05-22 69 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