長方形の左右の辺 (角ではない) を湾曲させたい。または、楕円形の上辺と下辺をまっすぐに言います。
どうすればこのようなことを達成できますか?
長方形の左右の辺 (角ではない) を湾曲させたい。または、楕円形の上辺と下辺をまっすぐに言います。
どうすればこのようなことを達成できますか?
これをテキストビューで試してみてください。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>
最良のアイデアの 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
。
高さを定義し、半径を高さの半分にします。
形状で許容される最大半径は、以下の形状の全高の半分であるように思われるため、これを使用して、希望の比率を維持する柔軟な高さの形状を作成できます。
<?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>
境界線の半径を高さの半分に設定してみてください。CSS ではborder-radius:50%
、楕円を作成するので、高さの 50% しかない場合は、そのような結果になると思います。