Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.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 Layout - Fatal编程技术网

Android 图层列表中奇怪的白线

Android 图层列表中奇怪的白线,android,android-layout,Android,Android Layout,对于按钮的背景,我们希望有一个双梯度。因此,我们使用一个层列表,其中包含两个形状,每个形状对应于每个渐变部分。选择器如下所示 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="false"> <layer-list> <item android:bottom="24dp">

对于按钮的背景,我们希望有一个双梯度。因此,我们使用一个层列表,其中包含两个形状,每个形状对应于每个渐变部分。选择器如下所示

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_pressed="false">
    <layer-list>
      <item android:bottom="24dp">
        <shape android:shape="rectangle">
          <gradient android:startColor="#9ccb37" android:endColor="#64bb3a" android:angle="270" />
          <corners android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" android:topLeftRadius="6dp"
                   android:topRightRadius="6dp" />
        </shape>
      </item>
      <item android:top="24dp">
        <shape android:shape="rectangle">
          <gradient android:startColor="#45ac42" android:endColor="#029345" android:angle="270" />
          <corners android:bottomRightRadius="6dp" android:bottomLeftRadius="6dp" android:topLeftRadius="0dp"
                   android:topRightRadius="0dp" />
        </shape>
      </item>
    </layer-list>
  </item>
</selector>

结果正是我们想要的,看起来是这样的

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_pressed="false">
    <layer-list>
      <item android:bottom="24dp">
        <shape android:shape="rectangle">
          <gradient android:startColor="#9ccb37" android:endColor="#64bb3a" android:angle="270" />
          <corners android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" android:topLeftRadius="6dp"
                   android:topRightRadius="6dp" />
        </shape>
      </item>
      <item android:top="24dp">
        <shape android:shape="rectangle">
          <gradient android:startColor="#45ac42" android:endColor="#029345" android:angle="270" />
          <corners android:bottomRightRadius="6dp" android:bottomLeftRadius="6dp" android:topLeftRadius="0dp"
                   android:topRightRadius="0dp" />
        </shape>
      </item>
    </layer-list>
  </item>
</selector>

在我们的测试设备中有一个按钮,按钮上有一条恼人的白线。在所有其他设备(dpi较低和较高)上,结果正常。但是,在此设备上,结果如下所示:


这对我来说完全是个谜,为什么它只在这个设备上呈现这样的效果。欢迎大家指点

Hmm,你需要在渐变中有一个清晰的区别吗,或者你能像这样做一个过渡渐变吗

<item>
    <shape>
        <gradient android:angle="270" android:endColor="#2f6699" android:startColor="#449def" />
        <stroke android:width="1dp" android:color="#2f6699" />
        <corners android:radius="4dp" />
        <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
    </shape>
</item>

也许值得一看按钮的边距和填充值。