答えて
Androidのオプションメニューをカスタマイズして、背景を設定したり、テキストの外観を変更することができます。メニューの背景とテキストの色は、テーマとスタイルを使用して変更できませんでした。
Androidソースコード(data\res\layout\icon_menu_item_layout.xml
)は、メニューレイアウトの「com.android.internal.view.menu.IconMenuItem」ビューのカスタムアイテムを使用します。上記のクラスを変更してメニューをカスタマイズすることができます。これを実現するには、LayoutInflater
ファクトリクラスを使用し、ビューの背景とテキストの色を設定します。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.my_menu, menu);
getLayoutInflater().setFactory(new Factory() {
@Override
public View onCreateView(String name, Context context, AttributeSet attrs) {
if (name .equalsIgnoreCase(“com.android.internal.view.menu.IconMenuItemView”)) {
try{
LayoutInflater f = getLayoutInflater();
final View view = f.createView(name, null, attrs);
new Handler().post(new Runnable() {
public void run() {
// Set the background drawable
view .setBackgroundResource(R.drawable.my_ac_menu_background);
// Set the text color
((TextView) view).setTextColor(Color.WHITE);
}
});
return view;
}
catch (InflateException e) {
}
catch (ClassNotFoundException e) {
}
}
return null;
}
});
return super.onCreateOptionsMenu(menu);
}
これは私を助けたが、それは私が探していたものではなかった –
メニューアイテムは、例えば、属性のアイコンがあります。上記の例
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/mi_main_preferences"
android:title="@string/cmd_preferences"
android:icon="@android:drawable/ic_menu_preferences">
</item>
</menu>
は、システムアイコン(設定メニュー)を使用しています。
しかし、私はそれにbbadgeを持つことができます –
申し訳ありませんが、私の英語は良くありません。アイコンとバッジの違いはありますか? –
はい、バッジがアイコンの上に表示されます –
LayerListDrawable
を作成し、通常のアイコンを第1のレイヤ、バッジを第2のレイヤとして使用し、setIcon()
をMenuItem
に使用してみてください。
説明するサンプルコードはありますか? PLZ –
- 1. Android - 線を描く
- 2. Androidのタッチインタラクティブチャートを描く
- 3. AndroidでonClickを描く
- 4. Android - 矩形を描く
- 5. Blackberry API/MenuItems
- 6. Android用のボードに石を描くゲームアプリ
- 7. Androidで円を描いて円を描く
- 8. ビットマップAndroidで新しいサークルを描く
- 9. Android - SurfaceViewでグラフィックスを描く方法
- 10. Android Game Dev:SurfaceViewでメニューを描く?
- 11. AndroidでXMLでポリゴンを描く
- 12. androidのmin3dで四角形を描く
- 13. Android App用のボード(チェッカー)を描く
- 14. Androidで円錐形のグラデーションを描く
- 15. WPF Menuitemsが左揃え?
- 16. バッジ/アチーブメント
- 17. Android - ボタンを押すたびに円を描く
- 18. タブビュー内にバッジを追加
- 19. Trelloにバッジを追加
- 20. iPhoneハイブリッドアプリケーションにバッジを表示
- 21. iOS - UITableViewCellにバッジを追加
- 22. ゆっくりとAndroidでラインを描く
- 23. キャンバスをホームスクリーンウィジェットに描画 - Android
- 24. 異なる位置に2つのモデルを描くopengl 2 android
- 25. Android:ビットマップにアクティビティの完全な内容を描く
- 26. Androidキャンバスに数学関数のグラフを描く方法
- 27. Android。 2つのレイアウトの間にビットマップを描く
- 28. 2点にカーブを描く方法(Android、Java)
- 29. android:各タブに未読数のバッジがあるタブホスト
- 30. MonoDroid - 実行時に楕円を描く
あなたがメッセージのアイコンのようなものを望む場合にのみ、それは複雑な作業です。..右上 –
はい、ビットマップと数たいですカスタムウィジェットを使用して処理する必要があります。あなたは、特定のテキストと重力を持つフォームを持つ画像を持つボタンを簡単に作ることができます。 –
であなたのメニュー項目に関連する画像は... –