web-dev-qa-db-ja.com

Androidで背景を20%透明にする方法

背景に色(白)があるところで、どのように私はTextviewの背景を約20%透明(完全に透明ではない)にするのですか

531
Adham

アルファチャンネルの色を80%にします。たとえば、赤の場合は#CCFF0000を使用します。

<TextView
   ...
   Android:background="#CCFF0000" />

この例では、CC255 * 0.8 = 204の16進数です。最初の2桁の16進数はアルファチャンネル用です。フォーマットは#AARRGGBBです。ここでAAはアルファチャンネル、RRは赤チャンネル、GGは緑チャンネル、そしてBBは青チャンネルです。

透明度20%は不透明度80%を意味します。あなたが他の方法を意味するのであれば、CCの代わりに33の16進数である255 * 0.2 = 51を使用してください。

アルファ透明度値の適切な値を計算するために、あなたはこの手順に従うことができます:

  1. 透明度のパーセンテージ、たとえば20%を考えると、不透明度のパーセンテージ値は80%であることがわかります(これは100-20=80です)。
  2. アルファチャンネルの範囲は8ビット(2^8=256)で、範囲は0から255です。
  3. 不透明なパーセンテージをアルファ範囲に投影します。つまり、範囲(255)にパーセンテージを掛けます。この例では255 * 0.8 = 204。必要ならば最も近い整数に丸める。
  4. 3.で得られた値(基数10)を16進数(基数16)に変換します。あなたはこれまたは任意の計算機のためにグーグルを使うことができます。 Googleを使用して、「204 to hexa」と入力すると、16進数の値が表示されます。この場合は0xCCです。
  5. 4.で求めた値を希望の色に追加します。たとえば、FF0000である赤の場合、CCFF0000があります。

あなたは色のための Androidのドキュメントを見てみることができます

948
aromero

黒のために以下のコードを使用してください:

<color name="black">#000000</color>

不透明度を使いたいのであれば、以下のコードを使用できます。 

 <color name="black">#99000000</color> <!-- 99 is for alpha and others pairs zero's are for R G B -->

そして以下の不透明度コードのために:そして ここにすべての不透明度レベル

16進数の不透明度

100% — FF
95% — F2
90% — E6
85% — D9
80% — CC
75% — BF
70% — B3
65% — A6
60% — 99
55% — 8C
50% — 80
45% — 73
40% — 66
35% — 59
30% — 4D
25% — 40
20% — 33
15% — 26
10% — 1A
5% — 0D
0% — 00

あなたがいつも透明のためにどんなコードを忘れているなら、あなたはリンクの下を見なければならなくて、透明なコードに関して何かを覚えることを心配しなければなりません:

https://github.com/duggu-hcd/TransparentColorCode

textviewHeader.setTextColor(Color.parseColor(ColorTransparentUtils.transparentColor10(R.color.border_color)));
1356
duggu

色の不透明度を管理して、色定義の最初の2文字を変更できます。

99 000000 

100% — FF
99% — FC
98% — FA
97% — F7
96% — F5
95% — F2
94% — F0
93% — ED
92% — EB
91% — E8

90% — E6
89% — E3
88% — E0
87% — DE
86% — DB
85% — D9
84% — D6
83% — D4
82% — D1
81% — CF

80% — CC
79% — C9
78% — C7
77% — C4
76% — C2
75% — BF
74% — BD
73% — BA
72% — B8
71% — B5

70% — B3
69% — B0
68% — AD
67% — AB
66% — A8
65% — A6
64% — A3
63% — A1
62% — 9E
61% — 9C

60% — 99
59% — 96
58% — 94
57% — 91
56% — 8F
55% — 8C
54% — 8A
53% — 87
52% — 85
51% — 82

50% — 80
49% — 7D
48% — 7A
47% — 78
46% — 75
45% — 73
44% — 70
43% — 6E
42% — 6B
41% — 69

40% — 66
39% — 63
38% — 61
37% — 5E
36% — 5C
35% — 59
34% — 57
33% — 54
32% — 52
31% — 4F

30% — 4D
29% — 4A
28% — 47
27% — 45
26% — 42
25% — 40
24% — 3D
23% — 3B
22% — 38
21% — 36

20% — 33
19% — 30
18% — 2E
17% — 2B
16% — 29
15% — 26
14% — 24
13% — 21
12% — 1F
11% — 1C

10% — 1A
9% — 17
8% — 14
7% — 12
6% — 0F
5% — 0D
4% — 0A
3% — 08
2% — 05
1% — 03
0% — 00 
117
carlol

#33------のようなアルファ値を持つ色を使用し、XML属性Android:background=" "を使用してそれをあなたのeditTextの背景として設定します。

  1. 0%(透明) - > 16進数で00
  2. 20% - >#33
  3. 50% - >#80
  4. 75% - >#C0
  5. 100%(不透明) - >#FF

255 * 0.2 = 51→16進数で33

94
K_Anas

あなたは次のようなことをやろうとすることができます:

textView.getBackground().setAlpha(51);

ここでは、不透明度を0(完全に透明)から255(完全に不透明)の間で設定できます。 51はまさにあなたが望む20%です。

79
yugidroid

Android Studioには、色とアルファ/不透明度の値を調整するための組み込みツールがあります

Android Adjust Color Opacity

62
Jayakrishnan PM

See screenshot

私は3回見ました。最初のビューではフル(アルファなし)カラーを設定し、2番目のビューでは半分(0.5アルファ)カラーを設定し、3番目のビューでは明るいカラー(0.2アルファ)を​​設定します。

以下のコードを使用することで、任意の色を設定してアルファ色を付けることができます。

ファイル activity_main.xml

<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools = "http://schemas.Android.com/tools"
    Android:layout_width = "match_parent"
    Android:layout_height = "match_parent"
    Android:gravity = "center"
    Android:orientation = "vertical"
    tools:context = "com.example.temp.MainActivity" >

    <View
        Android:id = "@+id/fullColorView"
        Android:layout_width = "100dip"
        Android:layout_height = "100dip" />

    <View
        Android:id = "@+id/halfalphaColorView"
        Android:layout_width = "100dip"
        Android:layout_height = "100dip"
        Android:layout_marginTop = "20dip" />

    <View
        Android:id = "@+id/alphaColorView"
        Android:layout_width = "100dip"
        Android:layout_height = "100dip"
        Android:layout_marginTop = "20dip" />

</LinearLayout>

ファイル MainActivity.Java

public class MainActivity extends Activity {

    private View fullColorView, halfalphaColorView, alphaColorView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        fullColorView = (View)findViewById(R.id.fullColorView);
        halfalphaColorView = (View)findViewById(R.id.halfalphaColorView);
        alphaColorView = (View)findViewById(R.id.alphaColorView);

        fullColorView.setBackgroundColor(Color.BLUE);
        halfalphaColorView.setBackgroundColor(getColorWithAlpha(Color.BLUE, 0.5f));
        alphaColorView.setBackgroundColor(getColorWithAlpha(Color.BLUE, 0.2f));
    }


    private int getColorWithAlpha(int color, float ratio) {
        int newColor = 0;
        int alpha = Math.round(Color.alpha(color) * ratio);
        int r = Color.red(color);
        int g = Color.green(color);
        int b = Color.blue(color);
        newColor = Color.argb(alpha, r, g, b);
        return newColor;
    }
}

コトリン版:

private fun getColorWithAlpha(color: Int, ratio: Float): Int {
  return Color.argb(Math.round(Color.alpha(color) * ratio), Color.red(color), Color.green(color), Color.blue(color))
}

完了

26
Hiren Patel

100%から0%アルファまでのすべての16進数値。下記のアルファ値で任意の色を設定できます。例#FAFFFFFF(ARRGGBB)

100% — FF
99% — FC
98% — FA
97% — F7
96% — F5
95% — F2
94% — F0
93% — ED
92% — EB
91% — E8
90% — E6
89% — E3
88% — E0
87% — DE
86% — DB
85% — D9
84% — D6
83% — D4
82% — D1
81% — CF
80% — CC
79% — C9
78% — C7
77% — C4
76% — C2
75% — BF
74% — BD
73% — BA
72% — B8
71% — B5
70% — B3
69% — B0
68% — AD
67% — AB
66% — A8
65% — A6
64% — A3
63% — A1
62% — 9E
61% — 9C
60% — 99
59% — 96
58% — 94
57% — 91
56% — 8F
55% — 8C
54% — 8A
53% — 87
52% — 85
51% — 82
50% — 80
49% — 7D
48% — 7A
47% — 78
46% — 75
45% — 73
44% — 70
43% — 6E
42% — 6B
41% — 69
40% — 66
39% — 63
38% — 61
37% — 5E
36% — 5C
35% — 59
34% — 57
33% — 54
32% — 52
31% — 4F
30% — 4D
29% — 4A
28% — 47
27% — 45
26% — 42
25% — 40
24% — 3D
23% — 3B
22% — 38
21% — 36
20% — 33
19% — 30
18% — 2E
17% — 2B
16% — 29
15% — 26
14% — 24
13% — 21
12% — 1F
11% — 1C
10% — 1A
9% — 17
8% — 14
7% — 12
6% — 0F
5% — 0D
4% — 0A
3% — 08
2% — 05
1% — 03
0% — 00
17
Anant Shah

Double値をとるXML値alphaがあります。 

API 11+なので、範囲は0fから1fまで(両端を含む)です。0fは透明、1fは不透明です。

  • 見えないAndroid:alpha="0.0" thats

  • Android:alpha="0.5"シースルー

  • Android:alpha="1.0"フル表示

そういうわけでそれは働きます。

16
eldivino87
<TextView
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:alpha="0.9"
        />

Android API 11+では、アルファの範囲は0(transparent)と1(opaque)

6
Naramsim

このようにしても透明にすることができます。

ホワイトカラーコード - FFFFFF

70%白 - # B3 FFFFFF。

100% - FF、 95% - F2、 90% - E 6、 85% - D 9、 80% - CC、 75% - BF、 70% - B 3 、 65% - A 6、 60% - 99、 55% - 8 C、[ ____ 50% - 80、 45% - 73、 40% - 66、 35% - 59、 30% - 4D、 [25] - 40、[20] - 33、[15] - 26、[10] - 1、5 - 0 D、[5] .____。] 0% - 00

6
Ashish Kumar

アンドロイドスタジオ3.3 およびそれ以降のバージョンは アルファ 色の値を変更するための作り付けの機能を提供します、

Androidスタジオエディタで色をクリックして、percentageにアルファ値を指定するだけです。

詳細については、下の画像を参照してください。

enter image description here

3
Chandan Sharma

下記の人気を参照してくださいこれを使用してtextView 

     Android:alpha="0.38"

enter image description here

_ xml _

Android:color="#3983BE00"    // Partially transparent sky blue

動的

btn.getBackground()。setAlpha(128); // 50%透明

tv_name.getBackground()。setAlpha(128); // 50%透明

Where the INT ranges from 0 (fully transparent) to 255 (fully opaque).


  <TextView
            style="@style/TextAppearance.AppCompat.Caption"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:alpha="0.38"
            Android:gravity="start"
            Android:textStyle="bold"
            tools:text="1994|EN" />

アンドロイド:alpha = "0.38"

Text View alpha property set 0.38 to your textView visibility is faid 
1
Keshav Gera

Kotlinでは、このようなアルファを使用して使用できますが、

   //Click on On.//
    view.rel_on.setOnClickListener{
        view.rel_off.alpha= 0.2F
        view.rel_on.alpha= 1F

    }

    //Click on Off.//
    view.rel_off.setOnClickListener {
        view.rel_on.alpha= 0.2F
        view.rel_off.alpha= 1F
    }

結果はこのスクリーンショットのようです。 20 % Transparent

これがお役に立てば幸いです。ありがとう

0
Rahul Kushwaha

このコードを試してください:)

その完全に透明な16進コード - "#00000000"

0
Agilanbu

これは、アルファチャンネルの16進値を計算するための @Aromero の答えからのプログラムによる解決策です。 :)

 public static void main(String[] args) throws Exception {
    final Scanner scanner = new Scanner(System.in);
    int transPerc;
    float fPerc;
    System.out.println("Enter the transparency percentage without % symbol:");
    while((transPerc=scanner.nextInt())>=0 && transPerc <=100){
        fPerc = (float) transPerc / 100;
        transPerc = Math.round(255 * fPerc);
        System.out.println("= " + Integer.toHexString(transPerc));
        System.out.print("another one please : ");
    }
    scanner.close();
}
0
theapache64