18

長方形の左右の辺 (角ではない) を湾曲させたい。または、楕円形の上辺と下辺をまっすぐに言います。

どうすればこのようなことを達成できますか?

ここに画像の説明を入力

4

10 に答える 10

14

これをテキストビューで試してみてください。1文字の場合は円が表示され、複数の数字の場合は上に示した形状に自動的に展開されますが、形状の上に厳密に置きたい場合は、左右に大きなパディングを与えるだけです

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <padding
        android:top="3dp"
        android:left="8dp"
        android:right="8dp" 
        android:bottom="3dp"/>

    <solid android:color="#E6121A" />

    <corners
        android:bottomLeftRadius="12dp"
        android:bottomRightRadius="12dp"
        android:topLeftRadius="12dp"
        android:topRightRadius="12dp" />

</shape> 
于 2014-07-06T11:45:15.703 に答える
1

最良のアイデアの 1 つは、xml フィールドを使用して形状を作成することだと思います。

Drawable を作成-> ovalshape.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <solid android:color="#ff0000" />

    <corners
        android:bottomLeftRadius="8dp"
        android:bottomRightRadius="8dp"
        android:topLeftRadius="8dp"
        android:topRightRadius="8dp" />

    <padding
        android:bottom="5dip"
        android:left="10dip"
        android:right="10dip"
        android:top="5dip" />

</shape>

これで簡単に使えるようxml instead of imageになりましたyou and new SO user

于 2013-08-06T04:46:04.420 に答える
0

高さを定義し、半径を高さの半分にします。

于 2015-12-03T23:45:24.507 に答える
0

形状で許容される最大半径は、以下の形状の全高の半分であるように思われるため、これを使用して、希望の比率を維持する柔軟な高さの形状を作成できます。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
    <solid android:color="#ffffff" />
    <size android:height="@dimen/height" />
    <corners
        android:radius="@dimen/height"
        />
</shape>
于 2015-04-24T16:22:48.040 に答える
0

境界線の半径を高さの半分に設定してみてください。CSS ではborder-radius:50%、楕円を作成するので、高さの 50% しかない場合は、そのような結果になると思います。

于 2013-08-06T03:13:25.927 に答える