2015-04-28 66 views
0

我試圖做一個菜單隻有一個圖標,但而不是那個圖標,我得到了typican三點,並在我的選擇。所以,我只想要一個圖標。這是我的XML代碼:圖標是三點的Android菜單

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:context="com.bartek.gestionpea.MainActivity"> 

    <item 
     android:id="@+id/ayuda" 
     android:icon="@android:drawable/ic_dialog_info" 
     android:title="Ayuda" 
     app:showAsAction="ifRoom"/> 

</menu> 

這裏去我的課:

public class MainActivity extends Activity { 
    PeniaSQLiteHelper usdbh; 

    private SQLiteDatabase db; 

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

     getActionBar().setTitle("GESTION"); 

     Button btnCrearPena = (Button) findViewById(R.id.btncrearpena); 

     btnCrearPena.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

       Intent i = new Intent(MainActivity.this, CrearNueva.class); 
       startActivity(i); 
      } 
     }); 
    } 

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

    @Override 
    public boolean onMenuItemSelected(int featureId, MenuItem item) { 
     switch (item.getItemId()) { 
      case R.id.ayuda: 
       return true; 
     } 
     return super.onMenuItemSelected(featureId, item); 
    } 
} 

回答

0

由於您使用標準的活動,試試這個:

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

    <item 
     android:id="@+id/ayuda" 
     android:icon="@android:drawable/ic_dialog_info" 
     android:title="Ayuda" 
     android:showAsAction="always" /> 

</menu> 
+0

感謝您的回答,我已經tryed代碼,現在,還是老樣子不工作。我嘗試了showAsAction中的幾乎所有內容,並且只能看到裏面有3個選項。不管怎麼說,還是要謝謝你! – Uat

+0

您可以發佈您的活動課程的代碼嗎?您可以直接編輯問題。謝謝 –

+0

完成了,我的班上說了話。 ;) – Uat

0

您可以修改應用程序的主題(在themes.xml):

<!-- Application theme. --> 
<style name="AppTheme" parent="AppBaseTheme"> 
    <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item> 
</style> 

<!-- Style to replace actionbar overflow icon. set item 'android:actionOverflowButtonStyle' in AppTheme --> 
<style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.Light.ActionButton.Overflow"> 
    <item name="android:src">@drawable/your_icon_here</item> 
    <item name="android:background">?android:attr/actionBarItemBackground</item> 
    <item name="android:contentDescription">"options"</item> 
</style> 

更多信息here

1

您正在使用一些事情的原生操作欄(例如,從Activity繼承)和一些事情的appcompat-v7操作欄後向移植(例如,app:showAsAction)。 選擇一個,並堅持下去:

  • 如果要使用本機操作欄,使用android:showAsAction

  • 如果您希望使用appcompat-v7操作欄後向移植,從AppCompatActivity繼承(在最新appcompat-v7)或ActionBarActivity(爲appcompat-v7以前版本)

+0

如果我編寫android:showAsAction,我得到一個錯誤說「應該使用app:showAsAction」,所以,我不知道該怎麼做。謝謝你的答案,無論如何隊友:) – Uat

+0

@Uat:如果你想使用本地操作欄,也擺脫你的'appcompat-v7'依賴和其他任何使用它(例如,你的活動主題)。再一次,你需要選擇** ** **實施**並堅持**,而不是混合搭配多個實施。 – CommonsWare

+0

瞭解,謝謝你的幫助!我不能給你投票,因爲我沒有那麼多聲望,但謝謝:)) – Uat

0

注意,當USI NG程序兼容性的主題,你有時需要設置XML attibutes兩次:

一次,一次不帶android的命名空間

<item name="android:windowNoTitle">true</item> 
    <item name="windowNoTitle">true</item>