1. ホーム
  2. android

[解決済み] Android - テキストに影がつく?

2022-04-14 14:25:48

質問

アンドロイドで文字に影をつけるにはどうしたらいいのでしょうか?

以下のコードをビットマップに適用して、影をつけたいのですが...。

paint.setColor(Color.BLACK);
paint.setTextSize(55);
paint.setFakeBoldText(false);
paint.setShadowLayer(1, 0, 0, Color.BLACK); //This only shadows my whole view...

解決方法は?

このように、スタイルを追加することができます(Ringdroidのソースコードから引用)。

  <style name="AudioFileInfoOverlayText">
    <item name="android:paddingLeft">4px</item>
    <item name="android:paddingBottom">4px</item>
    <item name="android:textColor">#ffffffff</item>
    <item name="android:textSize">12sp</item>
    <item name="android:shadowColor">#000000</item>
    <item name="android:shadowDx">1</item>
    <item name="android:shadowDy">1</item>
    <item name="android:shadowRadius">1</item>
  </style>

そして、レイアウトでは、このようなスタイルを使用します。

 <TextView android:id="@+id/info"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       style="@style/AudioFileInfoOverlayText"
       android:gravity="center" />

編集:ソースコードはこちらでご覧いただけます。 https://github.com/google/ringdroid

編集2 このスタイルをプログラムで設定するには、次のようにします。 この例 リングドロイドのリソースに合わせるため)

TextView infoTextView = (TextView) findViewById(R.id.info);
infoTextView.setTextAppearance(getApplicationContext(),  
       R.style.AudioFileInfoOverlayText);

の署名は setTextAppearance

public void setTextAppearance (Context context, int resid)

以降:APIレベル1

テキストの色、サイズ、スタイル、ヒントの色、およびサイズを設定します。 指定されたTextAppearanceリソースのハイライトカラーを表示します。