のみアルファを変更するには、私はこのコードを持って言いますか?アンドロイドのTextViewのテキスト
色が0x00ffffff
ある場合には、どのように私はそれが0xffffffff
に変更します。例えば
?
これにはメソッドがありますか、または16進/ int操作を行う必要がありますか?
のみアルファを変更するには、私はこのコードを持って言いますか?アンドロイドのTextViewのテキスト
色が0x00ffffff
ある場合には、どのように私はそれが0xffffffff
に変更します。例えば
?
これにはメソッドがありますか、または16進/ int操作を行う必要がありますか?
あなたの質問への答えはです。「色が0x00ffffffなら、どうすれば0xffffffffに変更できますか?」をビット単位で単に使用するか、または color |= 0xff000000;
とするだけです。
しかし私は、Android開発のJava側でこのようなことをやっていない同僚かもしれないと思います。graphics.Color
provided by Androidという素晴らしいヘルパークラスがあります。それはちょうど同じことを下にしますが、実際にはあなたのコードの読みやすさを助けます。特に、int
のタイプの色は必ずしも16進数の色の値ではありませんが、 xmlのリソースのartbirary idを指すこともできます。アー。
int color = tv.getCurrentTextColor();
int newColor = Color.argb(yourNewAlphaVal, Color.red(color), Color.green(color), Color.blue(color))
は速くありませんが、私はあなたがそれをする必要はありません推測している:
などは次のようになります。
もちろん、これはここで何を使用するかについての個人的な意見ですが、これが役立つことを願っています!
私は既に 'graphics.Color'を見ました。アルファを設定する方法はありません。アルファのみを取得する。 – Igor
追加APIレベル1:http://developer.android.com/reference/android/graphics/Color.html#argb(int、int、int、int) – Tom
これが本当に役立つことを願っています。カラー値を設定できないのは、それが 'int 'だからです。 'int'sはjavaで設定することはできません - あなたは新しいものを作成しなければなりません。だからヘルパーは静的なものにすぎません。 – Tom