3

我正在尝试定义一个圆形背景以用作按钮的背景。

<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中)椭圆形保持圆形?

4

1 回答 1

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>

并使用视图使用可绘制对象的相同高度和宽度。

于 2016-09-19T07:11:13.200 回答