ドローアブルリソースでテキスト形状を作成できますか?私はたくさんググっていましたが何も見つかりませんでした...これが私の描画可能なファイルです:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item>
<shape Android:shape="oval">
<stroke Android:width="3dp" Android:color="#QQffQQ"/>
<size Android:width="120dp" Android:height="120dp"/>
</shape>
</item>
<item Android:right="59dp" Android:left="59dp">
<shape Android:shape="rectangle">
<solid Android:color="£22££20"/>
</shape>
</item>
<item Android:top="59dp" Android:bottom="59dp">
<shape Android:shape="rectangle">
<solid Android:color="£20££20"/>
</shape>
</item>
<item>
<!--text should be here-->
</item>
</layer-list>
いいえ、できません。 1つのアイデアは、Drawable
をTextView
の背景として設定し、TextView
にテキストを設定することです。これは、Drawable
。もちろん、これはスプラッシュスクリーンには使用できません。スプラッシュスクリーンには、以下のコメントの zyamys で言及されているように、ドローアブルリソースが必要です。その場合のアイデアは、興味のあるテキストで静的な画像を生成することです。これは、残念ながら、テキストが動的である場合には適用されません。
代わりにベクタードローアブルを使用できます(SVGファイルから変換するなど)。
次に、ベクターをレイヤーの1つとして使用します。
これにより、TextViewsなしで単一のドローアブルを作成できるため、スプラッシュスクリーンテーマのwindowBackgroundとして簡単に使用できます。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<gradient Android:angle="270"
Android:startColor="#C3DAE0"
Android:endColor="#FFFFFF"
Android:type="linear"/>
</shape>
</item>
<item
Android:gravity="center"
Android:drawable="@drawable/ic_splash_text"/>
</layer-list>
ここでic_splash_text-テキストで描画可能なベクターです。
API <21をターゲットにしている場合は、ベクターサポートを追加することを忘れないでください。このためにあなたはしなければなりません:
モジュールbuild.gradle(アプリレベル)に追加します。
Android {
vectorDrawables.useSupportLibrary = true.
}
アクティビティの静的ブロックにデリゲートを登録します。
static {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}