it-swarm.com.de

Wie man einen Hintergrund auf Android 20% transparent macht

Wie mache ich den Hintergrund einer Textview etwa 20% transparent (nicht vollständig transparent), wenn sich im Hintergrund eine Farbe befindet (d. H. Weiß)?

531
Adham

Stellen Sie sicher, dass die Farbe im Alphakanal 80% beträgt. Zum Beispiel für Rot verwenden Sie #CCFF0000:

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

Im Beispiel ist CC die Hexadezimalzahl für 255 * 0.8 = 204. Beachten Sie, dass die ersten beiden Hexadezimalziffern für den Alphakanal gelten. Das Format ist #AARRGGBB, wobei AA der Alphakanal ist, RR der rote Kanal ist, GG der grüne Kanal und BB der blaue Kanal ist.

Ich gehe davon aus, dass 20% transparent 80% undurchsichtig bedeutet. Wenn Sie es anders verstanden haben, verwenden Sie anstelle von CC33, der das Hexadezimalzeichen für 255 * 0.2 = 51 ist.

Um den korrekten Wert für einen Alphatransparenzwert zu berechnen, können Sie folgendermaßen vorgehen:

  1. Bei einem Transparenzprozentsatz von beispielsweise 20% wissen Sie, dass der opake Prozentwert 80% beträgt (dies ist 100-20=80).
  2. Der Bereich für den Alphakanal beträgt 8 Bit (2^8=256), was bedeutet, dass der Bereich von 0 bis 255 reicht.
  3. Projizieren Sie den undurchsichtigen Prozentsatz in den Alpha-Bereich, dh multiplizieren Sie den Bereich (255) mit dem Prozentsatz. In diesem Beispiel 255 * 0.8 = 204. Runden Sie bei Bedarf auf die nächste ganze Zahl.
  4. Konvertieren Sie den in 3. erhaltenen Wert in Basis 10 in Hexadezimal (Basis 16). Sie können Google für diesen oder jeden anderen Rechner verwenden. Geben Sie bei Google "204 to hexa" ein, und Sie erhalten den Hexadezimalwert. In diesem Fall ist es 0xCC.
  5. Stellen Sie den unter 4. erhaltenen Wert auf die gewünschte Farbe ein. Für rot, also FF0000, haben Sie CCFF0000.

Sie können die Android-Dokumentation für Farben anschauen.

948
aromero

Verwenden Sie den folgenden Code für Schwarz:

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

Wenn ich Deckkraft verwenden möchte, können Sie den folgenden Code verwenden: 

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

Und unten für den Deckkraftcode: und alle Deckkraft hier

Hex-Deckkraftwerte

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

Wenn Sie immer vergessen möchten, welcher Code für die Transparenz verwendet wird, müssen Sie den Link unten sehen und sich keine Gedanken darüber machen, ob Sie sich an transparentem Code erinnern:

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

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

Sie können die Farbdeckkraft verwalten, indem Sie die ersten beiden Zeichen in der Farbdefinition ändern:

# 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

Verwenden Sie eine Farbe mit einem Alpha-Wert wie #33------ und legen Sie sie mithilfe des XML-Attributs Android:background=" " als Hintergrund für Ihren editText fest.

  1. 0% (transparent) -> # 00 in hex
  2. 20% -> # 33
  3. 50% -> # 80
  4. 75% -> # C0
  5. 100% (undurchsichtig) -> #FF

255 * 0,2 = 51 → in hex 33

94
K_Anas

Sie können versuchen, etwas zu tun:

textView.getBackground().setAlpha(51);

Hier können Sie die Deckkraft zwischen 0 (vollständig transparent) und 255 (vollständig undurchsichtig) einstellen. Die 51 ist genau die 20%, die Sie wollen.

79
yugidroid

In Android Studio gibt es ein integriertes Werkzeug zum Anpassen der Farbe und des Alpha-/Deckkraftwerts:

 Android Adjust Color Opacity

62
Jayakrishnan PM

See screenshot

Ich habe drei Ansichten vertreten. In der ersten Ansicht habe ich die volle Farbe (kein Alpha) eingestellt, in der zweiten Ansicht die halbe Farbe (0,5 Alpha) und in der dritten Ansicht die Lichtfarbe (0,2 Alpha).

Sie können eine beliebige Farbe festlegen und mit Alpha Farbe erhalten, indem Sie den folgenden Code verwenden:

Datei 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>

Datei 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;
    }
}

Kotlin-Version:

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))
}

Erledigt

26
Hiren Patel

Alle Hex-Werte von 100% bis 0% Alpha. Sie können jede Farbe mit den unten genannten Alpha-Werten einstellen. z. B. #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

Es gibt einen XML-Wert alpha, der doppelte Werte akzeptiert. 

Da API 11+ von 0f bis 1f (einschließlich) reicht, ist 0f transparent und 1f ist undurchsichtig:

  • Android:alpha="0.0" das ist unsichtbar

  • Android:alpha="0.5" durchsichtig

  • Android:alpha="1.0" voll sichtbar

So funktioniert das.

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

Alpha liegt in Android API 11+ zwischen 0(transparent) und 1(opaque)

6
Naramsim

Wir können auf diese Weise auch transparent machen.

Weißer Farbcode - FFFFFF

70% weiß - # B3 FFFFFF.

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

6
Ashish Kumar

Jetzt Android Studio 3.3 und spätere Version bieten eine eingebaute Funktion zum Ändern eines Alpha Wertes der Farbe,

Klicken Sie einfach im Android Studio-Editor auf eine Farbe und geben Sie Alpha-Wert in percentageein.

Weitere Informationen finden Sie unter Bild

 enter image description here

3
Chandan Sharma

Siehe Popularität unter textView mit dieser Option 

     Android:alpha="0.38"

 enter image description here

XML

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

Dynamisch

btn.getBackground (). setAlpha (128); // 50% transparent

tv_name.getBackground (). setAlpha (128); // 50% transparent

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" />

Android: alpha = "0,38"

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

In Kotlin können Sie mit Alpha wie folgt verwenden,

   //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
    }

Ergebnis ist wie in diesem Screenshot . 20 % Transparent

Hoffe das wird dir helfen. Danke

0
Rahul Kushwaha

Versuchen Sie diesen Code :)

Es ist ein vollständig transparenter Hex-Code - "# 00000000"

0
Agilanbu

Hier eine programmatische Lösung aus der Antwort von @Aromero , um den Hexadezimalwert für den Alphakanal zu berechnen. :)

 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