更改菜单的背景样式

时间:2015-09-14 15:11:03

标签: android

我有一个菜单,我想应用以下背景样式:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >    
    <corners android:radius="10dip" />
    <stroke android:color="@color/pink" 
            android:width="6dip"></stroke>
    <solid android:color="@color/white"></solid>
</shape>

我有一个Java类只是为了处理与菜单相关的操作。此类扩展ActionBarActivity

我的菜单代码如下:

<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.android.ExtendedActivity">

 <item android:id="@+id/action_share"
     android:title="Share"
     android:orderInCategory="100"/>

 <item android:id="@+id/action_about"
     android:title="About"
     android:orderInCategory="100"/>
 </menu>

有谁知道如何将该背景样式设置到我的菜单中?

1 个答案:

答案 0 :(得分:0)

按照你的风格,你会有类似的东西

<style name="YourTheme.Main" parent="Theme.AppCompat.Light.NoActionBar">
... <item name="android:activatedBackgroundIndicator">@drawable/selectable_background</item> ... </style> 

和你的可绘制内容

<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/your_color" android:state_pressed="true"/> <item android:drawable="@drawable/selected_background" android:state_selected="true"/> <item android:drawable="@drawable/selected_background" android:state_checked="true"/> </selector> 

最后你可以将你的背景用作像这样的selected_background

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <corners android:radius="10dip" /> <stroke android:color="@color/pink" android:width="6dip"></stroke> <solid android:color="@color/white"></solid> </shape>.

我很抱歉非常简单的解释,但没有完整的代码演示应用程序是非常棘手的!我希望这有帮助: - )