【发布时间】:2021-08-18 17:58:48
【问题描述】:
我设置了android:radius="20dp",但为什么只在左边圆角?红色形状的右侧也应该有圆角
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#c61b1f" />
<corners
android:radius="20dp"/>
<padding android:left="60dp" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="#eeeeee" />
</shape>
</item>
</layer-list>
更新
我想为EditText实现下一个背景
我们可以将width 设置为item(用于第一个左侧形状),但它仅适用于 23+ API,我需要支持 21+
我有 23+ API 的解决方案:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
// white shape
<shape android:shape="rectangle">
<solid android:color="#eeeeee" />
<corners android:radius="20dp"/>
</shape>
</item>
// red shape
<item android:width="60dp">
<shape android:shape="rectangle">
<solid android:color="#c61b1f" />
<corners
android:radius="20dp"/>
</shape>
</item>
</layer-list>
【问题讨论】:
-
红右角在白哥后面。
-
去掉白色再检查
-
@MajidAli 更新了问题
-
为红色添加宽度单独绘制,然后添加此项。
-
第二个选项 - 从右侧向红色添加填充
标签: android android-drawable layer-list android-shape android-shapedrawable