Jak zrobić tło 20% przezroczyste na Androidzie

Jak zrobić tło Textview około 20% przezroczyste (nie do końca przezroczyste), gdzie w tle jest kolor (np. biały)?

Author: Peter Mortensen, 2012-07-02

14 answers

Aby kolor miał 80% w kanale Alfa. Na przykład dla czerwonego #CCFF0000:

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

W przykładzie CC jest liczbą szesnastkową dla 255 * 0.8 = 204. Zauważ, że pierwsze dwie cyfry szesnastkowe są dla kanału alfa. Format to #AARRGGBB, Gdzie AA jest kanałem alfa, {[6] } jest kanałem czerwonym, {[7] } jest kanałem zielonym, a BB jest kanałem niebieskim.

Zakładam, że 20% przezroczyste oznacza 80% nieprzezroczyste. Jeśli chodziło Ci o drugą stronę, zamiast CC Użyj 33 który jest szesnastkowy dla 255 * 0.2 = 51.

Aby obliczyć właściwą wartość dla wartości przezroczystości alfa można wykonać tę procedurę:

  1. biorąc pod uwagę procent przezroczystości, na przykład 20%, wiesz, że wartość procentowa nieprzezroczystości wynosi 80% (jest to 100-20=80)
  2. zakres kanału alfa wynosi 8 bitów (2^8=256), co oznacza, że zakres wynosi od 0 do 255.
  3. rzut nieprzezroczystego procentu do zakresu Alfa, czyli pomnożyć zakres (255) przez procent. W tym przykładzie 255 * 0.8 = 204. W razie potrzeby zaokrąglić do najbliższej liczby całkowitej.
  4. Przelicz wartość uzyskaną w 3., który znajduje się w bazie 10, w układzie szesnastkowym (baza 16). Możesz użyć Google do tego lub dowolnego kalkulatora. Używając Google, wpisz "204 do hexa", a otrzymasz wartość szesnastkową. W tym przypadku jest to 0xCC.
  5. Przepisz wartość uzyskaną w 4. do żądanego koloru. Na przykład dla czerwonego, czyli FF0000, będziesz miał CCFF0000.

Możesz spojrzeć na dokumentacja Androida dla kolorów .

 907
Author: aromero,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-28 21:15:44

Użyj poniższego kodu dla czarnego:

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

Teraz, jeśli chcę użyć nieprzezroczystości, możesz użyć poniższego kodu:

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

I poniżej dla kodu nieprzezroczystości: oraz wszystkie poziomy krycia tutaj

Wartości Nieprzezroczystości Sześciokątnej

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

Jeśli zawsze zapominasz jaki kod dla przezroczystości, musisz zobaczyć poniższy link i nie martwić się o zapamiętanie czegokolwiek dotyczącego przezroczystego kodu :-

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

textviewHeader.setTextColor(Color.parseColor(ColorTransparentUtils.transparentColor10(R.color.border_color)));
 1294
Author: duggu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-02 11:32:13

Możesz zarządzać nieprzezroczystością kolorów zmieniając pierwsze 2 znaki w definicji kolorów:

#99000000

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 
 104
Author: carlol,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-24 16:13:26

Użyj koloru o wartości alfa, takiej jak #33------ i ustaw go jako tło twojego editText, używając atrybutu XML android:background=" ".

  1. 0% (przezroczysty) - > #00 W hex
  2. 20% -> #33
  3. 50% -> #80
  4. 75% -> #C0
  5. 100% (nieprzezroczyste) - > #FF

255 * 0.2 = 51 → W hex 33

 91
Author: K_Anas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-28 21:17:02

Możesz spróbować zrobić coś takiego:

textView.getBackground().setAlpha(51);

Tutaj można ustawić nieprzezroczystość od 0 (w pełni przezroczysty) do 255 (całkowicie nieprzezroczysty). 51 to dokładnie 20%, które chcesz.

 73
Author: yugidroid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-01 22:17:27

W Android Studio jest wbudowane narzędzie do dostosowywania koloru i wartości alfa/krycia :

Android Dostosuj Nieprzezroczystość Kolorów

 56
Author: Jayakrishnan PM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-28 21:23:54

Zobacz zrzut ekranu

Mam trzy poglądy. W pierwszym widoku ustawiam kolor pełny (brak Alfy), w drugim-kolor połówkowy (0,5 alfa), a w trzecim-kolor jasny (0,2 Alfa).

Możesz ustawić dowolny kolor i uzyskać kolor z alfą, używając poniższego kodu:

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

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

Wersja Kotlina:

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

Done

 24
Author: Hiren Patel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-19 08:51:37

Istnieje wartość XML alpha, która przyjmuje podwójne wartości.

Ponieważ API 11+ zakres jest od 0f do 1f (włącznie), 0f jest przezroczysty i 1f jest nieprzezroczysty:

  • android:alpha="0.0" thats invisible

  • android:alpha="0.5" Zobacz-przez

  • android:alpha="1.0" Pełna widoczność

Tak to działa.
 16
Author: eldivino87,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-27 16:26:40

Wszystkie wartości szesnastkowe od 100% do 0% Alfa, możesz ustawić dowolny kolor z wartościami Alfa wymienionymi poniżej. e. G #FAFFFFF (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
 12
Author: Anant Shah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-14 09:57:55
<TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:alpha="0.9"
        />

Alfa waha się między 0 (przezroczysty) i 1 (nieprzezroczysty) w Android API 11 +

 5
Author: Naramsim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-19 10:01:26

Możemy zrobić przezroczysty również w ten sposób.

Kod koloru białego-FFFFFF

70% Biały - #B3FFFFF.

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

 2
Author: Ashish Kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-10-05 04:21:02

Zobacz popularność poniżej textView używając tego

     android:alpha="0.38"

Tutaj wpisz opis obrazka

XML

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

Dynamicznie

Btn.getBackground ().setAlpha(128); / / 50% przezroczysty

Tv_name.getBackground ().setAlpha(128); / / 50% przezroczysty

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
Author: Keshav Gera,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-25 07:01:46

Oto rozwiązanie programowe z odpowiedzi @ Aromero , aby obliczyć wartość szesnastkową dla kanału alfa. :)

 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
Author: theapache64,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:47:32

Wypróbuj ten kod :)

Jest to w pełni przezroczysty Kod hex - "#00000000"

 0
Author: Agilanbu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-11 05:16:52