我想使用自定义drawable给我的按钮圆角。但是,我也希望矩形的底部1/4填充特定的颜色。这可能吗?我怎样才能填补最后一刻?
答案 0 :(得分:3)
是的,如果您使用Layer List并定义重叠项目,则可以。这是一个例子......
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="0dp" android:left="0dp" android:bottom="0dp" android:right="0dp">
<shape android:shape="rectangle">
<corner android:radius="5"/>
<solid android:color="#f000"/>
<size android:width="200dp"
android:height="30dp"/>
</shape>
</item>
<item android:top="0dp" android:left="0dp" android:bottom="0dp" android:right="0dp">
<shape android:shape="rectangle">
<corner android:radius="5"/>
<solid android:color="#0f0"/>
<size android:width="50dp"
android:height="30dp"/>
</shape>
</item>
</layer-list>
您可能需要使用这些值并根据需要进行调整
我认为你不能指定相对值,如百分比。但是,如果这些值因屏幕大小而异,您可以(我建议)将此值移动到维度资源文件中,如下所示...
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="button_full_width">200dp</dimen>
<dimen name="button_quarter_width">50dp</dimen>
<dimen name="button_height">30dp</dimen>
</resources>
然后在您的drawable中指定这些尺寸,如下所示......
...
<size android:width="@dimen/button_full_width"
android:height="@dimen/button_height"/>
...
现在,要为不同的屏幕尺寸指定不同的值,您需要通过添加不同的&#34;值来指定针对不同尺寸的资源限定符。资源文件夹并使用不同的值放置维度文件。 Android系统将根据设备屏幕尺寸在运行时获取并加载必要的尺寸...
res/
values/
dimens.xml
values-small/
dimens.xml
values-normal/
dimens.xml
values-large/
dimens.xml
values-xlarge/
dimens.xml