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的按鈕上工作。 –