Android पर एक छवि दृश्य की पारदर्शी पृष्ठभूमि सेट करें


334

मैं एक वेब दृश्य का उपयोग कर रहा हूं जिसमें मैं एक छवि दृश्य जोड़ रहा हूं। मैं इस छवि दृश्य की पृष्ठभूमि को पारदर्शी कैसे सेट कर सकता हूं?

मैंने यह कोशिश की है:

mImageview.setBackgroundResource(R.color.trans);

कहाँ trans<color name="trans">#00000000 </color>


जवाबों:


571

अपने एक्सएमएल में Backgroundकिसी भी रंग, White(#FFFFFF)छाया या Black(#000000)छाया के लिए विशेषता सेट करें । यदि आप पारदर्शिता चाहते हैं, तो वास्तविक हैश कोड से पहले सिर्फ 80 डालें:

#80000000

यह किसी भी रंग को आप एक पारदर्शी में बदलना चाहते हैं .. :)


3
@ हर्षद: क्या सेट करना संभव है, कहते हैं, एक पृष्ठभूमि छवि के लिए 40% पारदर्शिता के साथ सेट View.setBackgroundResource(R.drawable.something)?
लुइस ए। फ्लोरिट

@ लुइस.फ्लोरिट मुझे यह लिंक मिला जहां आपको अपने RGB मान से 0.4 (40/100) गुणा करना होगा। यकीन नहीं होता कि यह मददगार है लेकिन आप इसे आजमा सकते हैं। फ़ोरम .esri.com
हर्षद

3
@ हर्षद: क्षमा करें, मुझे आपका उत्तर समझ में नहीं आया। मेरे पास कोई आरजीबी मूल्य नहीं है, लेकिन एक पृष्ठभूमि छवि के साथ एक पाठ दृश्य जो मैं चाहता हूं, कहो, 50% पारदर्शी। लेकिन, वैसे भी, मुझे स्टैकओवरफ्लो में जवाब मिला View.getBackground().setAlpha(50):। सरल नहीं हो सकता है, है ना? : ओ) वैसे भी, आपकी मदद के लिए धन्यवाद !!
लुइस ए। फ्लोरिट

21
यदि आप वास्तविक हैश कोड से पहले 01 से 99 तक कोई भी संख्या जोड़ते हैं, तो यह आपको पारदर्शिता देगा। जैसे: अधिक पारदर्शिता के #10000000 साथ काला - कम पारदर्शिता के साथ काला - #99000000
AnhSirk Dasarp

64
@AnhSirkDasarp केवल 01 से 99 तक नहीं, क्योंकि बाकी संख्याएँ भी हेक्साडेसिमल हैं, इसलिए आप 00 से ff तक कुछ भी डाल सकते हैं। पचास प्रतिशत पारदर्शी के लिए आपको ५० के बजाय should० लगाना चाहिए, और दूसरों के लिए आपके पास कुछ बुनियादी गणनाएँ करने के लिए ...
निमंजा कोवेसेविक

571

आप XML में इस कोड को जोड़कर किसी भी लेआउट, किसी भी दृश्य, या किसी भी घटक की पृष्ठभूमि को पारदर्शी सेट कर सकते हैं:

android:background="@android:color/transparent" 

4
मेरे पास Android के पुराने संस्करणों पर एक समस्या थी जो शुद्ध पारदर्शी के रूप में # ff000000 को संभाल नहीं पाई। इसका उपयोग करके इसे ठीक किया।
लोएस्चग

11
शायद इसलिए कि # एफएफ 00 00 00 = 100% काला है।
Derk-Jan

3
@Ioeschg अल्फा चैनल के लिए पहले 2 अक्षर हैं। # 00xxxxxx पारदर्शी होगा, जबकि x कोई भी हेक्स मान है जो आप चाहते हैं।
user1032613

10
और समतुल्य कार्यक्रम अगर किसी को रूचि है तो वह है Android.esource.Color.Transparent :)
leoneboaventura

3
@undroid कोशिशandroid:background="#00ffffff"
प्रतिबंध-

179

हर्षद ने जो उल्लेख किया है उसके अलावा:

दो हेक्साडेसिमल वर्णों को किसी भी हेक्साडेसिमल रंग कोड में जोड़ा जा सकता है। 8-अंकीय हेक्स रंग कोड में पहले दो वर्ण Android में अपनी अस्पष्टता का प्रतिनिधित्व करते हैं।

दो हेक्साडेसिमल वर्ण 00 से एफएफ तक हो सकते हैं। उदाहरण के लिए,

  • सामान्य अपारदर्शी काली हेक्स- "# 000000"
  • पूरी तरह से पारदर्शी - "# 00000000"
  • पूरी तरह से अपारदर्शी - "# FF000000"
  • 50% पारदर्शी - "# 7F000000"

इस तरह आप किसी भी रंग को किसी भी स्तर की पारदर्शिता में बदल सकते हैं।

एक प्रतिशत से हेक्साडेसिमल उपसर्ग खोजने के लिए:

दशमलव मान प्राप्त करने के लिए प्रतिशत संख्या को 100 से विभाजित करें और 255 से गुणा करें। दशमलव को यहाँ हेक्साडेसिमल में बदलें ।

उदाहरण के लिए, 50%, 50/100 * 255 = 127. लिंक का उपयोग करके हम हेक्साडेसिमल मान 7F प्राप्त करते हैं।

स्रोत: Android: कैसे एक पारदर्शी या अपारदर्शी पृष्ठभूमि बनाने के लिए


3
वास्तव में, एकदम सही ५०% पारदर्शिता and एफ है,
iny०

147

यदि आप 20% या 30% पारदर्शिता जोड़ना चाहते हैं, तो आपको CC की तरह हेक्साडेसिमल कोड में दो और अक्षरों को प्री-पेंड करना चाहिए।

ध्यान दें

android:background="#CCFF0088" XML में

जहाँ CC अल्फा वैल्यू है, वहीं FF रेड फैक्टर है, 00 ग्रीन फैक्टर है, और 88 ब्लू फैक्टर है।

कुछ अपारदर्शिता कोड:

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

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

आप प्रोग्राम की तरह अपारदर्शिता भी सेट कर सकते हैं:

yourView.getBackground().setAlpha(127);

0 (पूरी तरह से पारदर्शी) से 255 (पूरी तरह से अपारदर्शी) के बीच अपारदर्शिता सेट करें। 127.5 बिल्कुल 50% है।

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

 16 |128          Where 128 is the half of 256.
    |8 -0         So it means 80 is half transparent.

और 25% पारदर्शिता के लिए:

16 |64            Where 64 is the quarter of 256.
   |4 -0          So it means 40 is quarter transparent.

42

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

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

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

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

और अपारदर्शिता कोड के लिए नीचे:

100% - एफएफ

95% - F2

90% - ई 6

85% - डी 9

80% - सीसी

75% - बीएफ

70% - बी 3

65% - ए 6

60% - 99

55% - 8 सी

50% - 80

45% - 73

40% - 66

35% - 59

30% - 4 डी

25% - 40

20% - 33

15% - 26

10% - 1 ए

5% - 0 डी

0% - 00


27

पहले से ही एक पूर्वनिर्धारित स्थिरांक है। का उपयोग करें Color.TRANSPARENT


1
एक निरंतर का उपयोग इसके बारे में जाने के लिए सबसे अच्छा / साफ तरीका होना चाहिए! लेकिन इस मामले में, का मान Color.TRANSPARENTसेट है 0x00000000(अपेक्षित पूरी तरह से अपारदर्शी नहीं 0xFF000000), इसलिए इस पर निर्भर करता है कि आप इसके बारे में कैसे जाते हैं, यह निरंतरता पारदर्शिता को पूरा करने में मदद नहीं कर सकती है! स्थिर की सिफारिश करने के लिए अभी भी +1!
लेवी

24

एंड्रॉइड में पहले से ही एक पारदर्शी बनाया गया है: R.color.transparent। http://developer.android.com/reference/android/R.color.html#transparent

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


छवि पारदर्शी है। यह किसी भी पृष्ठभूमि पर नहीं है। मैंने hv के रूप में भी यू की छवि की पृष्ठभूमि सेट करने की कोशिश की है। लेकिन यह काम नहीं किया ... plz मदद ..
मैडिट

क्या आप कुछ और विवरण पोस्ट कर सकते हैं जैसे कि आपके द्वारा उपयोग की जा रही छवि का लिंक और आपके द्वारा उपयोग किए जा रहे कोड और लेआउट?
Intrications


13

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

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


10

या, एक विकल्प के रूप में, निम्नलिखित कोड के साथ संसाधन आईडी को पार्स करें:

  mComponentName.setBackgroundColor(getResources().getColor(android.R.color.transparent));

10

अपनी XML फ़ाइल में, एक विशेषता "अल्फा" सेट करें

जैसे कि

android:alpha="0.0" // for transparent
android:alpha="1.0" // for opaque

आवश्यक पारदर्शिता लागू करने के लिए आप दशमलव में 0.0 से 1.0 के बीच कोई भी मूल्य दे सकते हैं। उदाहरण के लिए, 0.5 पारदर्शिता अक्षम घटक के लिए आदर्श है


5

जो लोग अभी भी इस समस्या का सामना कर रहे हैं, आप इसके लिए प्रयास कर सकते हैं
element.getBackground().setAlpha(0);


मुझे NullPointerException: Attempt to invoke virtual method 'void android.graphics.drawable.Drawable.setAlpha(int)' on a null object reference
इगोरगानपोलस्की

1
@IgorGanapolsky: elementयह देखने की कोशिश करें कि क्या यह एक अशक्त वस्तु है
सुसाइडशीप

5

पूर्ण पारदर्शिता के लिए निम्नलिखित का उपयोग करें:

#00000000

जब मैंने # 80000000 के साथ प्रयास किया तो मुझे एक काला पारदर्शी ओवरले मिला, जो मुझे नहीं चाहिए। पहले दो अंकों को बदलने की कोशिश करें; यह पारदर्शिता के स्तर को नियंत्रित करता है, जैसे

#00000000
#10000000
#20000000
#30000000

पारदर्शी अंधेरे पर सही रंग
नजीब अहमद पुथावला

5

एंड्रॉइड स्टूडियो में एक अंतर्निहित टूल का उपयोग करके रंग और अस्पष्टता को समायोजित करना बहुत सरल है:

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


बस उस पर क्लिक करें। @PeterMortensen
पीएम


4

एक और काम करने का विकल्प जो मुझे आया था वह है सेट करना android:background="@null"


2

आप View.setAlpha(float)दृश्यता को ठीक से बदलने के लिए भी उपयोग कर सकते हैं ।

0 पारदर्शी होगा, 1 पूरी तरह से दिखाई देगा। ;)


1
वह दृश्य का अल्फ़ा बदलता है, उसकी पृष्ठभूमि नहीं!
इगोरगानापल्स्की

पूरा दृश्य तब पारदर्शी होगा, जिसमें सामग्री / चित्र भी शामिल होगा, आपकी सेटिंग अल्फा है जो इस मामले में गलत है। उपयोगकर्ता एक छवि की पारदर्शिता को बनाए रखना चाहता है ताकि छवि को पारदर्शी न बनाया जा सके।
हारून हज़ाम

2

निम्न कोड का उपयोग करने का प्रयास करें। यह आपको पूर्ण या अधिक में मदद करेगा।

  1. पृष्ठभूमि रंग सेट करने के लिए इस कोड का उपयोग करने के लिए डिज़ाइन की गई .xml फ़ाइल:

    android:background="#000000"

    या

    android:background="#FFFFFF"

    छवि यहाँ है

    या आप इसे प्रोग्रामेटिक रूप से भी सेट कर सकते हैं।

  2. इसके अलावा आप इस कोड को प्रोग्रामेटिक रूप से उपयोग कर सकते हैं:

    image.setBackgroundDrawable(getResources().getDrawable(
        R.drawable.llabackground));
  3. इसके अलावा पृष्ठभूमि रंग के रूप में अच्छी तरह से प्रोग्राम सेट करने के लिए यह कोड:

    image.setBackgroundColor(Color.parseColor("#FFFFFF"));
  4. उसी प्रोग्राम के लिए यह कोड:

    image.setBackgroundColor(getResources().getColor(Color.WHITE));

रंग आपकी पसंद पर निर्भर करता है कि आप किस रंग का पारदर्शी उपयोग करना चाहते हैं। ज्यादातर एक सफेद या # रंग का उपयोग करें।

के बारे में R.drawable.llabackground: कोड की यह रेखा आपकी पृष्ठभूमि की शैली के लिए है, जैसे आपके उद्देश्य के लिए कुछ विशेष या अलग। आप भी इसका इस्तेमाल कर सकते हैं।


2

यदि आप एक खींचने योग्य XML छवि का उपयोग करते हैं, तो आप इसे नीचे दिए गए चित्र के अनुसार पारदर्शी बना सकते हैं, या आप एक रंग कोड का उपयोग कर सकते हैं:

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

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


1

पारदर्शिता जानकारी के साथ रंग परिभाषाएँ हो सकती हैं

#AARRGGBBया #ARGB

आप पूर्ण पारदर्शिता के लिए छोटे मूल्य का भी उपयोग कर सकते हैं: # 0000

अन्य मान हैं:

white  grey   black
#FFFF  #F888  #F000 - full color
#EFFF  #E888  #E000
#DFFF  #D888  #D000
#CFFF  #C888  #C000
#BFFF  #B888  #B000
#AFFF  #A888  #A000
#9FFF  #9888  #9000
#8FFF  #8888  #8000
#7FFF  #7888  #7000
#6FFF  #6888  #6000
#5FFF  #5888  #5000
#4FFF  #4888  #4000
#3FFF  #3888  #3000
#2FFF  #2888  #2000
#1FFF  #1888  #1000
#0FFF  #0888  #0000 - full transparency

0
ImageView.setBackground(R.drawable.my_background);

ImageView.setBackgroundResource(R.color.colorPrimary);

ImageView.getImageAlpha();

ImageView.setAlpha(125); // transparency

1
हालाँकि यह कोड समस्या को हल करने में मदद कर सकता है, लेकिन यह इस बात की व्याख्या नहीं करता है कि क्यों और / या यह कैसे उत्तर देता है। इस अतिरिक्त संदर्भ को प्रदान करने से इसके दीर्घकालिक मूल्य में काफी सुधार होगा। कृपया स्पष्टीकरण जोड़ने के लिए अपने उत्तर को संपादित करें, जिसमें सीमाएँ और मान्यताएँ शामिल हैं।
टोबी स्पाइट नाइट

0

इसे इस्तेमाल करे:

#aa000000

पारदर्शिता के लिए 000000 = काला, आप अपने इच्छित रंग के लिए इन छह नंबरों को बदल सकते हैं।


रंग हेक्स से पहले आ का उपयोग करने के लिए आपका संसाधन क्या है
मीना फॉज़ी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.