49

アクティビティ全体にスタイルを適用せずに、ポップアップ メニューのスタイルをデフォルトの白い背景の黒いテキストから暗い背景に変更することはできますか (UI が壊れます)。

4

5 に答える 5

45

スタイルを直接設定することはできませんPopupMenuが、他の方法があります。

PopupMenu次の方法で作成されます。

PopupMenu popupMenu=new PopupMenu(context, anchorView);

メニューのスタイルは、渡すコンテキストのスタイルによって決まります。Activityしたがって、参照をコンテキストとして渡すだけで、それに応じてメニューのスタイルが設定されます。

スタイルを自分で定義する場合は、アクティビティ スタイルをデフォルトのものから継承し、次の項目をオーバーライドします。

<style name="style" parent="android:Theme.Holo.Light">
    <item name="android:popupMenuStyle">...</item>
    <item name="android:popupAnimationStyle">...</item>
    <item name="android:popupBackground">...</item>
    <!-- etc etc -->
</style>
于 2013-01-11T21:00:33.717 に答える