1

私は1つのメインレイアウトで簡単なアプリケーションを書いています。アプリケーションには、ユーザーが切り替えることができる状態があります。状態が「オン」の場合、メインレイアウトにオーバーレイするシースルー(透かしは別の意味を持つ可能性があることはわかっていますが)テキストが必要です。メインのレイアウトの上に置くために、2番目のレイアウトを定義する必要があると思います。またはそうでないかもしれません。私が完全に夢中でないなら、私はどんな指導もいただければ幸いです。ありがとう。

4

1 に答える 1

1

別のレイアウトを作成する必要はありません。TextViewをメインレイアウトに配置し、これを使用して透明度を変更するだけです

int alpha = 100;
mTxt.setTextColor(Color.argb(alpha, 0, 0, 0));

alphaは0〜255のいずれかで、0は透明、255は100%ソリッドです。0,0,0黒のテキストが必要ない場合は、を別のRGB値に変更することもできます。

必要に応じて、xmlからアルファを設定することもできます(実行時に変更する必要がない限り、これを行う必要があります)。

<TextView
...
...
android:background="#55000000" />

この場合、最初の2桁はアルファ値(例では55)を表し、00からFFの間で指定できます。次の6桁は、16進数のRGB値です。

于 2012-11-21T02:08:13.193 に答える