2

如何在 ContextMenu 中为列表选择器设置主题?对于 ListViews,我使用了此处描述的方式:

http://brainflush.wordpress.com/2009/03/15/understanding-android-themes-and-styles/

所以我将创建的样式分配给我的主题,如下所示:

<style name="Theme...." parent="@android:style/Theme.Light">
    <item name="android:listViewStyle">@style/ListView</item>
</style>
4

1 回答 1

0

尝试在 Android 中覆盖上下文菜单颜色,看看是否有帮助。它说您不能覆盖标准的上下文菜单选择器,但继续提供长按上下文的代码。

为了主题任何列表项,我在列表 xml 上分配了一个背景,例如 android:background="@layout/customshape,自定义形状类似于:

<?xml version="1.0" encoding="UTF-8"?> 
<shape 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle"> 
<gradient android:startColor="@color/white" 
      android:endColor="@color/light_grey_background" 
      android:angle="270"/> 
<corners 
android:bottomRightRadius="7dp" 
android:bottomLeftRadius="7dp" 
android:topLeftRadius="7dp" 
android:topRightRadius="7dp"/> 
</shape>

我从列表项 .xml 中调用它,例如:

 <LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:paddingTop="2dip"
 android:paddingBottom="2dip"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:orientation="vertical"
 >

 <LinearLayout
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:background="@layout/customrecipeshape"
     android:orientation="horizontal" >

 <ImageView 
     android:id="@+id/listicon" 
     android:layout_width="34px" 
     android:layout_height="wrap_content" 
     android:src="@drawable/icon_red" 
 />
 <TextView android:id="@+id/thing1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:textColor="@color/black"
     android:textAppearance="?android:attr/textAppearanceSmall"/>    


 <TextView android:id="@+id/thing2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20px" 
        android:textColor="@color/grey21"
        android:textAppearance="?android:attr/textAppearanceSmall"/>
 <TextView 
     android:id="@+id/thing3"

     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:textColor="@color/grey21"
     android:textAppearance="?android:attr/textAppearanceSmall"
     />




  </LinearLayout>      

如此处所述:https ://groups.google.com/forum/?fromgroups=#!topic/android-developers/GY9DFX2H-Bc

您不能覆盖自定义上下文菜单,但您可以使用列表视图和警报对话框创建自己的菜单。

于 2012-12-20T22:56:05.713 回答