एंड्रॉइड पर पृष्ठभूमि को 20% पारदर्शी कैसे बनाया जाए


619

मैं Textviewलगभग 20% की पृष्ठभूमि को पारदर्शी (पूरी तरह से पारदर्शी नहीं) कैसे बनाऊं, जहां पृष्ठभूमि में एक रंग है (यानी सफेद)?


इस ध्यान देना चाहिए stackoverflow.com/questions/15852122/hex-transparency-in-colors
अरुण Badole

जवाबों:


1038

बनाओ रंग अल्फा चैनल में 80% है। उदाहरण के लिए, लाल उपयोग के लिए #CCFF0000:

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

उदाहरण के लिए, CCहेक्साडेसिमल संख्या है 255 * 0.8 = 204। ध्यान दें कि पहले दो हेक्साडेसिमल अंक अल्फा चैनल के लिए हैं। प्रारूप है #AARRGGBB, जहां AAअल्फा चैनल RRहै, लाल चैनल GGहै, ग्रीन चैनल है और BBब्लू चैनल है।

मैं मान रहा हूं कि 20% पारदर्शी का मतलब 80% अपारदर्शी है। यदि आपके पास दूसरा तरीका है, तो CCउपयोग के बजाय 33जो हेक्साडेसिमल है 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) के लिए। आप इसके लिए या किसी भी कैलकुलेटर के लिए Google का उपयोग कर सकते हैं। Google का उपयोग करते हुए, "204 से हेक्सा" टाइप करें और यह आपको हेक्साडेसिमल मान देगा। इस मामले में यह है 0xCC
  5. 4. वांछित रंग में प्राप्त मूल्य को पूर्व निर्धारित करें। उदाहरण के लिए, लाल रंग के लिए, जो है FF0000, आपके पास होगा CCFF0000

आप रंगों के लिए Android प्रलेखन पर एक नज़र डाल सकते हैं ।


के लिए सफेद रंग पारदर्शिता के साथ, प्रश्न के अनुसार, का उपयोग android:background="#CCFFFFFF"
gotwo

छवि के साथ पृष्ठभूमि के लिए इस नियम को कैसे लागू किया जाए?
user1090751

1517

काले के लिए नीचे दिए गए कोड का उपयोग करें:

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

अब अगर मैं अपारदर्शिता का उपयोग करना चाहता हूं तो आप नीचे दिए गए कोड का उपयोग कर सकते हैं:

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

और अपारदर्शिता कोड के लिए नीचे: और यहाँ सभी अस्पष्टता स्तर

हेक्स अपारदर्शिता मान

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.transparentColor(R.color.border_color,10)));

3
यह देखकर मैंने # 99ffffff का उपयोग किया और इसने मेरे लिए अच्छा काम किया, धन्यवाद
नवाब साहब

छवि के साथ पृष्ठभूमि के लिए इस नियम को कैसे लागू किया जाए?
user1090751

149

आप रंग परिभाषा में पहले 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 

1
यह मौजूदा उत्तरों में क्या जोड़ता है?
कोड-अपरेंटिस

6
@ कोड-अपरेंटिस मुझे लगता है कि यह उत्तर उपयोगी होता है जब आप, 87% या 54% की तरह अधिक ठीक कणों का पारदर्शिता की जरूरत में उल्लेख किया है लोगों की तरह material.google.com/style/color.html#color-color-schemes
ब्रूस

5
हां, कल मुझे 13% अल्फा का प्रबंधन करने की आवश्यकता थी और मैंने अपने खोज परिणाम को इस उपयोगी धागे में जोड़ने का फैसला किया।
कारलोल

क्या होगा अगर मैं एक रैखिक रंग को बिना किसी रंग के पारदर्शी बनाना चाहता था?
Si8

1
सभी दृश्य डिफ़ॉल्ट रूप से पारदर्शी होते हैं, आप प्रोग्रामेटिक रूप से mLinearLayout.setBackgroundColor (Color.TRANSPARENT) का उपयोग कर सकते हैं; या एंड्रॉइड: पृष्ठभूमि = "@ android: color / पारदर्शी" आपके xml में अगर आपको इसे कुछ कारणों के लिए मजबूर करना है (जाहिर है कि यह रंग बच्चे के विचारों से विरासत में नहीं मिला है)
carlol

106

एक अल्फा मान के साथ एक रंग का उपयोग करें #33------, और XML विशेषता का उपयोग करके इसे अपने editText की पृष्ठभूमि के रूप में सेट करें android:background=" "

  1. हेक्स में 0% (पारदर्शी) -> # 00
  2. 20% -> # 33
  3. 50% -> # 80
  4. 75% -> # C0
  5. 100% (अपारदर्शी) -> # एफएफ

255 * 0.2 = 51 → हेक्स 33 में


91

आप कुछ ऐसा करने की कोशिश कर सकते हैं:

textView.getBackground().setAlpha(51);

यहां आप 0 (पूरी तरह से पारदर्शी) से 255 (पूरी तरह से अपारदर्शी) के बीच अस्पष्टता निर्धारित कर सकते हैं। 51 आप चाहते हैं कि बिल्कुल 20% है।


17
@ कोटा, क्योंकि आपका textViewचर है null
युगीरॉइड

अच्छा सुरुचिपूर्ण समाधान। जब मैं इसे चुन रहा हूं तो मैं इसे एक सूची आइटम पृष्ठभूमि पर लागू करने में सक्षम हूं - इसलिए मुझे कुछ रंग मिलते हैं, लेकिन यह आइटम पाठ के साथ प्रतिस्पर्धा नहीं करता है .. बहुत अच्छा, धन्यवाद!
जीन बो

setAlpha (int) setAlpha (फ्लोट) के पक्ष में पदावनत किया जाता है जहां 0 पूरी तरह से पारदर्शी है और 1 पूरी तरह से अपारदर्शी myImage.setAlpha (0.5f) है;
पोलामबरी

@polmabri, वास्तव में नहीं। myImage.setAlpha(0.5f);अल्फ़ा को स्वयं देखें पर लागू होता है लेकिन मैं अपने उत्तर में जो दिखाता हूं वह दृश्य की पृष्ठभूमि के लिए लागू किया जा रहा है।
यूजिड्रॉइड

यह ग्राफिक कीड़े का कारण हो सकता है! सावधानी और बहुत परीक्षण के साथ प्रयोग करें।
माइकल

74

एंड्रॉइड स्टूडियो में रंग और अल्फा / अपारदर्शिता मान को समायोजित करने के लिए एक अंतर्निहित टूल होता है :

Android समायोजित रंग अस्पष्टता


32

स्क्रीनशॉट देखें

मैंने तीन व्यूज लिए हैं। पहले दृश्य में मैंने पूर्ण (कोई अल्फा) रंग नहीं सेट किया, दूसरे दृश्य पर मैंने आधा (0.5 अल्फा) रंग निर्धारित किया, और तीसरे दृश्य में मैंने हल्के रंग (0.2 अल्फा) को निर्धारित किया।

आप नीचे दिए गए कोड का उपयोग करके किसी भी रंग को सेट कर सकते हैं और अल्फा के साथ रंग प्राप्त कर सकते हैं:

फ़ाइल गतिविधि_मैं। 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))
}

किया हुआ


30

हम डिस तरीके से भी पारदर्शी बना सकते हैं।

सफेद रंग कोड - FFFFFF

20% सफेद - # 33 FFFFFF

20% - 33

70% सफेद - # बी 3 एफएफएफएफएफ

70% - बी 3

सभी तेह हेक्स मूल्य 100% से 0% तक

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% - 4 डी, 29% - 4 ए, 28% - 47, 27% - 45, 26% - 42, 25% - 40, 24% - 3 डी, 23% - 3 बी, 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


1
अद्भुत जवाब। कीप आईटी उप।
तरुण

22

सभी हेक्स मूल्य 100% से 0% अल्फा तक, आप नीचे उल्लिखित अल्फा मूल्यों के साथ कोई भी रंग सेट कर सकते हैं। उदा #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

19

अब एंड्रॉइड स्टूडियो 3.3 और बाद का संस्करण रंग की एक अल्फा वैल्यू को बदलने के लिए एक इनबिल्ट सुविधा प्रदान करता है ,

एंड्रॉइड स्टूडियो एडिटर में बस एक रंग पर क्लिक करें और अल्फा वैल्यूpercentage प्रदान करें ।

अधिक जानकारी के लिए नीचे चित्र देखें

यहाँ छवि विवरण दर्ज करें


18

एक XML मान है alphaजो दोहरा मान लेता है।

के बाद से API 11+सीमा से है 0fकरने के लिए 1f(सम्मिलित), 0fपारदर्शी जा रहा है और 1fअपारदर्शी किया जा रहा है:

  • android:alpha="0.0" अदृश्य है

  • android:alpha="0.5" के माध्यम से देखना

  • android:alpha="1.0" पूरा दिख रहा है

यह वैसे काम करता है।


1
यह पूरे लेआउट को अर्ध-पारदर्शी बना देगा, इसमें सामग्री भी शामिल है
jack_the_beast

7
<TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:alpha="0.9"
        />

एंड्रॉइड एपीआई 11+ में अल्फा 0 (पारदर्शी) और 1 (अपारदर्शी) के बीच है


3

इसका उपयोग करके TextView के नीचे लोकप्रियता देखें

     android:alpha="0.38"

यहाँ छवि विवरण दर्ज करें

एक्सएमएल

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

एंड्रॉयड: अल्फा = "0.38"

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

3

कोटलिन में, आप अल्फा का उपयोग करके इस तरह का उपयोग कर सकते हैं,

   //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% पारदर्शी

आशा है कि यह आपकी मदद करेगा। धन्यवाद


1

मुझे पता है, यह एक बहुत पुराना सवाल है।

यदि आप एक रंग मान का उपयोग करना चाहते हैं, तो आप उस के लघु संस्करण का भी उपयोग कर सकते हैं #ARGBAअल्फा चैनल के लिए मान कहाँ है।

सफेद रंग के मामले में निम्नलिखित पारदर्शिता मूल्य हैं:

#FFFF  -     0%
#EFFF  -   6,7%
#DFFF  -  13,3%
#CFFF  -  20,0%
#BFFF  -  26,7%
#AFFF  -  33,3%
#9FFF  -  40,0%
#FFF8  -  46,7%
#7FFF  -  53,3%
#6FFF  -  60,0%
#5FFF  -  66,7%
#4FFF  -  73,3%
#3FFF  -  80,0%
#2FFF  -  86,7%
#1FFF  -  93,3%
#0FFF  - 100,0%

तो आप TextView20% पारदर्शिता के लिए निम्नलिखित पंक्ति जोड़ सकते हैं:

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

0

यहाँ अल्फा चैनल के लिए हेक्साडेसिमल मान की गणना करने के लिए @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();
}

3
प्रश्न को Android के लिए टैग किया गया है। यह कोड Android का समर्थन नहीं करता है।
पवन

0

इस कोड की कोशिश करें :)

इसका पूरी तरह से पारदर्शी हेक्स कोड - "# 00000000"


0

अगर आप कोटलिन में रंग 50% पारदर्शी बनाना चाहते हैं,

val percentage = 50f/100 //50%
ColorUtils.setAlphaComponent(resources.getColor(R.color.whatEverColor), (percentage * 255).toInt())
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.