[英]android option menu with icon
如何使用選項菜單顯示圖標。我嘗試了以下代碼,但我的選項菜單沒有圖像圖標。我正在使用 android 4.0 版開發應用程序。
Java代碼:
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add("Add Contacts").setIcon(
R.drawable.ic_launcher);
return true;
}
以下是我的應用程序的屏幕截圖
我需要圖像顯示在“添加聯系人”項目的頂部。
覆蓋OnPrepareOptionsMenu
並從那里添加圖標
如果它高於 3.0, android:showAsAction
在 xml 中使用android:showAsAction
。
例如。 android:showAsAction="ifRoom|withText"
我在兩行中嘗試了代碼並且它有效:
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add("Add Contacts");
menu.getItem(0).setIcon(R.drawable.ic_launcher);
return true;
}
您可以像這樣創建自定義菜單:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/add_contacts"
android:icon="@drawable/ic_launcher"
android:title="@string/add_contacts"
/>
</menu>
然后充氣
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.my_menu, menu);
return true;
}
更多關於這里: http : //developer.android.com/guide/topics/ui/menus.html#options-menu
您可以直接將其設置到xml文件中。
<item android:id="@+id/add_contacts"
android:icon="@android:drawable/plus_icon"
android:title="Add Contacts"/>
您可以嘗試關注此鏈接。
檢查這個並告訴我它是否有效。
或者你可以做一些這樣的事情。
創建 menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/next"
android:icon="@drawable/ic_next"
android:title="@string/next" />
<item android:id="@+id/previous"
android:icon="@drawable/ic_previous"
android:title="@string/previous" />
<item android:id="@+id/list"
android:icon="@drawable/ic_list"
android:title="@string/list" />
</menu>
現在您可以在菜單上設置 ICON
現在在 CreateOptionMenu
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
並訪問該菜單。
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.next:
Toast.makeText(this, "You have chosen the " + getResources().getString(R.string.next) + " menu option",
Toast.LENGTH_SHORT).show();
return true;
…
default:
return super.onOptionsItemSelected(item);
}
}
啟用帶圖標的選項菜單:
包裹物品與Item
與showAsAction="always"
和一個Menu
:
<?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">
<item
android:title="@string/title_menu"
android:icon="@mipmap/ic_icon_menu"
app:showAsAction="always">
<menu>
<item
android:id="@+id/action1"
android:orderInCategory="100"
android:title="@string/action1"
android:icon="@mipmap/ic_icon_action1"
app:showAsAction="never" />
</menu>
</item>
</menu>
如果您在清單文件中使用以下屬性,那么它將顯示您的圖標....
<activity android:name=".ui.CategoryActivity"
android:label="@string/app_name"
**android:theme="@android:style/Theme.NoTitleBar"**></activity>
這對我來說很好用......:) +1 為我自己的努力......
**必須輸入。
最簡單的方法是僅在設置菜單項時使用 @drawable。
要么
只需將@drawable 放在標題聲明之前。
<?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">
<item
android:id ="@+id/addToFavorites"
android:icon = "@drawable/ic_favorite_border_white_24dp"
android:title = "Hello"
app:showAsAction="always" />
<item
android:id ="@+id/about"
android:title ="About"
app:showAsAction="never" />
</menu>
問題是 Androidmanifest.xml。 刪除android:theme="@style/AppTheme"
就可以了
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.