Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 选择器抽绳_Android_Android Drawable_Android Selector - Fatal编程技术网

Android 选择器抽绳

Android 选择器抽绳,android,android-drawable,android-selector,Android,Android Drawable,Android Selector,我将以下android样式和选择器的定义应用于ListView,但是当我单击它时,我看不到应用灰色渐变的效果。单击它会立即显示蓝色渐变 正如本例作者所写: 我们希望将此应用于列表选择器。而不是总是表现出来 同样的渐变,我们希望渐变改变它的起始颜色 每当按下列表项时,灰色变为浅蓝色。因为我们现在 有两个不同的列表选择器,一个用于默认状态,一个用于 我们需要将它们保存在单独的文件中 有人能解释一下它应该如何正确显示吗?或者我错过了什么? 更一般地说,我希望在显示屏上看到什么?类似于列表项单击时从灰色

我将以下android样式和选择器的定义应用于ListView,但是当我单击它时,我看不到应用灰色渐变的效果。单击它会立即显示蓝色渐变

正如本例作者所写:

我们希望将此应用于列表选择器。而不是总是表现出来 同样的渐变,我们希望渐变改变它的起始颜色 每当按下列表项时,灰色变为浅蓝色。因为我们现在 有两个不同的列表选择器,一个用于默认状态,一个用于 我们需要将它们保存在单独的文件中

有人能解释一下它应该如何正确显示吗?或者我错过了什么? 更一般地说,我希望在显示屏上看到什么?类似于列表项单击时从灰色渐变到蓝色渐变的流畅过渡

更新:这是作者“看到”它的方式,但当我点击这个项目时,它看起来只在图片的右侧。我可以假设作者希望列表中的所有项目默认为灰色吗?或者此状态不适用于列表视图项?

list\u item\u default.xml->灰色渐变

list\u item\u pressed.xml->蓝色渐变

list_selector.xml

styles.xml


尝试添加一个句子:

    <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"/>