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 に答える