0
我想为我的android按钮创建一个奇特的渐变边框。我用一个图层列表和一些渐变创建了一个drawable,并且预览效果很好。但是当我试图将该drawable应用到我的按钮时,它看起来并不像预览中的样子。我希望drawable可以伸展和缩放以适应我的按钮,但似乎并没有这样做。Android为什么我的图层列表可绘制缩放比例不适合我的按钮?
谁能告诉我我做错了什么?
这里是我的绘制:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<corners android:radius="1dp"/>
<solid android:color="@color/colorLightGray"/>
<size android:width="40dp" android:height="10dp"/>
</shape>
</item>
<item android:left="38dp">
<shape android:shape="rectangle">
<corners
android:topRightRadius="1dp"
android:bottomRightRadius="1dp"/>
<gradient
android:endColor="@color/colorDarkGreen"
android:startColor="@color/colorLightGray"
android:type="linear"/>
</shape>
</item>
<item android:right="38dp">
<shape android:shape="rectangle">
<corners
android:topLeftRadius="1dp"
android:bottomLeftRadius="1dp"/>
<gradient
android:endColor="@color/colorLightGray"
android:startColor="@color/colorDarkGreen"
android:type="linear"/>
</shape>
</item>
<item android:bottom="8dp">
<shape android:shape="rectangle">
<corners
android:topLeftRadius="1dp"
android:topRightRadius="1dp"/>
<gradient
android:endColor="@color/colorLightGray"
android:startColor="@color/colorDarkGreen"
android:angle="270"
android:type="linear"/>
</shape>
</item>
<item android:top="8dp">
<shape android:shape="rectangle">
<corners
android:bottomLeftRadius="1dp"
android:bottomRightRadius="1dp"/>
<gradient
android:endColor="@color/colorLightGray"
android:startColor="@color/colorDarkGreen"
android:angle="90"
android:type="linear"/>
</shape>
</item>
<item
android:bottom="8dp"
android:right="38dp">
<shape android:shape="rectangle">
<corners android:topLeftRadius="1dp"/>
<gradient
android:endColor="@color/colorDarkGreen"
android:centerColor="@color/colorDarkGreen"
android:startColor="@color/colorLightGray"
android:centerX="100%"
android:centerY="100%"
android:gradientRadius="200%"
android:type="radial"/>
</shape>
</item>
<item
android:bottom="8dp"
android:left="38dp">
<shape android:shape="rectangle">
<corners android:topRightRadius="1dp"/>
<gradient
android:endColor="@color/colorDarkGreen"
android:centerColor="@color/colorDarkGreen"
android:startColor="@color/colorLightGray"
android:centerX="0%"
android:centerY="100%"
android:gradientRadius="200%"
android:type="radial"/>
</shape>
</item>
<item
android:top="8dp"
android:left="38dp">
<shape android:shape="rectangle">
<corners android:bottomRightRadius="1dp"/>
<gradient
android:endColor="@color/colorDarkGreen"
android:centerColor="@color/colorDarkGreen"
android:startColor="@color/colorLightGray"
android:centerX="0%"
android:centerY="0%"
android:gradientRadius="200%"
android:type="radial"/>
</shape>
</item>
<item
android:top="8dp"
android:right="38dp">
<shape android:shape="rectangle">
<corners android:bottomLeftRadius="1dp"/>
<gradient
android:endColor="@color/colorDarkGreen"
android:centerColor="@color/colorDarkGreen"
android:startColor="@color/colorLightGray"
android:centerX="100%"
android:centerY="0%"
android:gradientRadius="200%"
android:type="radial"/>
</shape>
</item>
</layer-list>
这里是我的按钮的XML:
<Button
android:id="@+id/add_some_stuff"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/gradient_border"
android:textAllCaps="false"
android:textStyle="normal"
android:textSize="@dimen/settings_text_size"
android:textColor="@color/colorSettingsText"
android:text="@string/add_some_stuff"/>
我没有时间找到答案,但布局在40dpx10dp的按钮上工作。 –