1. ホーム
  2. android

[解決済み] xmlを使用して、カラーDrawableの角丸半径を設定するには?

2022-07-26 01:16:35

質問

アンドロイドサイトで セクションがあります。 . このdrawableをxmlで定義すると、以下のようになります。

<resources>
    <drawable name="solid_red">#f00</drawable>
    <drawable name="solid_blue">#0000ff</drawable>
    <drawable name="solid_green">#f0f0</drawable>
</resources>

javaのapiでは、角丸を定義するために以下のようなメソッドがあります。

setCornerRadius(float radius)

xmlで角丸を設定する方法はないでしょうか?

どのように解決するのですか?

を使用します。 <shape> タグを使って、角を丸くしたXMLのdrawableを作成します。 (色のグラデーションを定義するなど、shapeタグで他のこともできます)。

以下は、私があるアプリケーションで使用している、白い背景、黒い枠、角丸の描画可能ファイルを作成するための XML ファイルのコピーです。

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#ffffffff"/>    
             
    <stroke android:width="3dp"
            android:color="#ff000000" />

    <padding android:left="1dp"
             android:top="1dp"
             android:right="1dp"
             android:bottom="1dp" /> 
             
    <corners android:radius="7dp" /> 
</shape>