我正在尝试定义一个圆形背景,用作按钮的背景。
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetLeft="@dimen/abc_button_inset_horizontal_material"
android:insetTop="@dimen/abc_button_inset_vertical_material"
android:insetRight="@dimen/abc_button_inset_horizontal_material"
android:insetBottom="@dimen/abc_button_inset_vertical_material">
<shape android:shape="oval">
<solid android:color="@color/material_orange_200" />
<padding android:left="@dimen/abc_button_padding_horizontal_material"
android:top="@dimen/abc_button_padding_vertical_material"
android:right="@dimen/abc_button_padding_horizontal_material"
android:bottom="@dimen/abc_button_padding_vertical_material" />
</shape>
</inset>
问题在于,如果按钮不是完全正方形,则形状会被拉伸成椭圆形(椭圆体),这是不希望的。我可以使用<size>
标记并将宽度和高度设置为相同的任意值。但是这会使用这个背景作为不同大小按钮的通用背景的目的失败。
有没有办法强制(在xml中)椭圆形状保持圆形?
答案 0 :(得分:0)
像这样创建一个可绘制的文件
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#22C2FE" />
<stroke
android:width="0dp"
android:color="#2B8DC6"></stroke>
</shape>
并使用与使用drawable的视图相同的高度和宽度。