-3

色を入力として取り、それを 50% 透明にして返すメソッドを作成したいと考えています (たとえば、入力として #FFFFFF と出力として #50FFFFFF)。どうやってするか?

4

2 に答える 2

4

Android の色は、単純に ARGB 値を持つ整数です。

public int setAlpha(int color, int alpha) {
    return (alpha << 24) | (color & 0x00ffffff);
}

アルファを 0 ~ 255 のスケールではなくパーセンテージで指定する場合は、次のようにします。

public int setAlpha(int color, int alphaPercentage) {
    int alpha = alphaPercentage * 255 / 100;
    return (alpha << 24) | (color & 0x00ffffff);
}
于 2013-09-12T15:16:51.970 に答える
0

私の解決策は少し退屈かもしれません..しかし、私は何かを提案することができます..

カラーコードは16進数なので、10進数に変換してください。

10 進数を 2 で割り、再度結果を 16 進数に変換します。

例: - FFFFFF = 16777215/2 = 8388607 = 7FFFFF..

于 2013-09-12T15:24:52.103 に答える