2011-11-06

在 Android 使用 Icon Menu

關鍵在 android:icon="..." 或者 menuItem.setIcon(...)。

menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:orderInCategory="1" android:id="@+id/item1" 
     android:title="壹xxxxxxxxxxxxxxxxxxxxxx壹"></item>
    <item android:orderInCategory="2" android:id="@+id/item2" 
     android:title="貳" android:icon="@drawable/icon"></item>
    <item android:orderInCategory="3" android:id="@+id/item3" 
     android:title="參xxxxxxxxxxxxxxxxxxxxxx參" 
     android:icon="@drawable/icon"></item>
    <item android:orderInCategory="4" android:id="@+id/item4" 
     android:title="肆"></item>
    <item android:orderInCategory="5" android:id="@+id/item5" 
     android:icon="@drawable/icon"></item>
    <item android:orderInCategory="6" android:id="@+id/item6" 
     android:title="陸" android:icon="@drawable/icon"></item>
    <item android:orderInCategory="7" android:id="@+id/item7" 
     android:title="柒" android:icon="@drawable/icon"></item>
    <item android:orderInCategory="8" android:id="@+id/item8" 
     android:title="捌" android:icon="@drawable/icon"></item>
</menu>
IconMenuActivity.java
public class IconMenuActivity extends Activity {

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  MenuInflater inflater = this.getMenuInflater();
  inflater.inflate(R.menu.menu, menu);
  // 用程式設定圖示
  // MenuItem item = menu.add(Menu.NONE, 4, 4, "肆");
  MenuItem item = menu.findItem(R.id.item4);
  item.setIcon(R.drawable.icon);
  return super.onCreateOptionsMenu(menu);
 }
}
有幾點要注意的,第一、字太多會被截掉,不管有沒有小圖示。


第二、一頁裝不下的 MenuItem 會放到 Expanded Menu(更多),Expanded Menu 裡的 MenuItem 不支援小圖示。

沒有留言:

張貼留言