Android 选择器抽绳
我将以下android样式和选择器的定义应用于ListView,但是当我单击它时,我看不到应用灰色渐变的效果。单击它会立即显示蓝色渐变 正如本例作者所写: 我们希望将此应用于列表选择器。而不是总是表现出来 同样的渐变,我们希望渐变改变它的起始颜色 每当按下列表项时,灰色变为浅蓝色。因为我们现在 有两个不同的列表选择器,一个用于默认状态,一个用于 我们需要将它们保存在单独的文件中 有人能解释一下它应该如何正确显示吗?或者我错过了什么? 更一般地说,我希望在显示屏上看到什么?类似于列表项单击时从灰色渐变到蓝色渐变的流畅过渡 更新:这是作者“看到”它的方式,但当我点击这个项目时,它看起来只在图片的右侧。我可以假设作者希望列表中的所有项目默认为灰色吗?或者此状态不适用于列表视图项? list\u item\u default.xml->灰色渐变 list\u item\u pressed.xml->蓝色渐变 list_selector.xml styles.xmlAndroid 选择器抽绳,android,android-drawable,android-selector,Android,Android Drawable,Android Selector,我将以下android样式和选择器的定义应用于ListView,但是当我单击它时,我看不到应用灰色渐变的效果。单击它会立即显示蓝色渐变 正如本例作者所写: 我们希望将此应用于列表选择器。而不是总是表现出来 同样的渐变,我们希望渐变改变它的起始颜色 每当按下列表项时,灰色变为浅蓝色。因为我们现在 有两个不同的列表选择器,一个用于默认状态,一个用于 我们需要将它们保存在单独的文件中 有人能解释一下它应该如何正确显示吗?或者我错过了什么? 更一般地说,我希望在显示屏上看到什么?类似于列表项单击时从灰色
尝试添加一个句子:
<item
android:state_enabled="true"
android:drawable="@drawable/list_item_default"/>
<item
android:state_enabled="true"
android:drawable="@drawable/list_item_pressed"
android:state_pressed="true"/>
不幸的是,这没有帮助。当我按下列表项时,我不确定我应该在显示屏上看到什么。目前所有项目默认为黑色,当我点击其中一个项目时,它会变成蓝色渐变。我希望看到什么?我尝试过,4.11可以很好地工作。我得到了渐变效果。现在我在2.3.7,4.0测试它。你的代码可以很好地工作。对我来说,我没有看到灰色效果:P,我不确定我是否正确理解选择器,当我应该看到灰色渐变和蓝色时?当我按下列表上的元素时,它会变成蓝色,那么什么时候它应该是灰色的呢?默认情况下,列表中没有一个元素被选中,并且所有元素都像我给出的图像一样暗。我得到了您想要做的。默认情况下,列表中没有一个元素,@color/list\u background,您将看到列表\u background的颜色。如果您想看到图片,您的代码无法工作。您的意思是默认情况下列表中没有一个元素的颜色是暗的,但是你知道哪一件应该是灰色的吗?不知道!你不知道,所以你可以这样做。如果项目被选中,它将被设置为灰色背景。否则它将是黑色的。如果它被点击,选择器将生效。我希望你能理解我的英语。。。。。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="0"
android:endColor="#FFFF"
android:startColor="#AA66CCFF" />
<stroke
android:width="1dip"
android:color="#CCC" />
<corners android:radius="5px" />
</shape>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/list_item_default" android:state_pressed="false"/>
<item android:drawable="@drawable/list_item_pressed" android:state_pressed="true"/>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyMoviesTheme" parent="@android:style/Theme.Black">
<item name="android:listViewStyle">@style/MyMoviesListView</item>
<item name="android:windowBackground">@drawable/film_bg</item>
</style>
<style name="MyMoviesTextAppearance" parent="@android:style/TextAppearance">
<!--<item name="android:textStyle">bold</item>-->
</style>
<style name="MyMoviesListView" parent="@android:Widget.ListView">
<item name="android:background">@color/list_background</item>
<item name="android:listSelector">@drawable/list_selector</item>
<item name="android:cacheColorHint">@android:color/transparent</item>
<item name="android:fastScrollEnabled">true</item>
<item name="android:footerDividersEnabled">false</item>
</style>
</resources>
<item
android:state_enabled="true"
android:drawable="@drawable/list_item_default"/>
<item
android:state_enabled="true"
android:drawable="@drawable/list_item_pressed"
android:state_pressed="true"/>