ฉันใช้มุมมองเว็บที่ฉันเพิ่มมุมมองภาพ ฉันจะตั้งค่าพื้นหลังของมุมมองภาพนี้เป็นแบบโปร่งใสได้อย่างไร
ฉันได้ลองสิ่งนี้แล้ว:
mImageview.setBackgroundResource(R.color.trans);
ที่ไหน→trans
<color name="trans">#00000000 </color>
ฉันใช้มุมมองเว็บที่ฉันเพิ่มมุมมองภาพ ฉันจะตั้งค่าพื้นหลังของมุมมองภาพนี้เป็นแบบโปร่งใสได้อย่างไร
ฉันได้ลองสิ่งนี้แล้ว:
mImageview.setBackgroundResource(R.color.trans);
ที่ไหน→trans
<color name="trans">#00000000 </color>
คำตอบ:
ใน XML ของคุณให้ตั้งค่าBackground
แอตทริบิวต์เป็นสีWhite(#FFFFFF)
เฉดสีหรือBlack(#000000)
สีใดก็ได้ หากคุณต้องการความโปร่งใสเพียงใส่ 80 ก่อนรหัสแฮชจริง:
#80000000
นี่จะเปลี่ยนสีที่คุณต้องการให้เป็นสีโปร่งใส .. :)
View.setBackgroundResource(R.drawable.something)
?
View.getBackground().setAlpha(50)
StackOverflow: ไม่ง่ายกว่านี้ใช่มั้ย : o) อย่างไรก็ตามขอขอบคุณสำหรับความช่วยเหลือของคุณ !!
#10000000
สีดำที่มีความโปร่งใสน้อยกว่า - #99000000
คุณสามารถตั้งค่าพื้นหลังโปร่งใสของเลย์เอาต์มุมมองหรือส่วนประกอบใด ๆ โดยเพิ่มรหัสนี้ใน XML:
android:background="@android:color/transparent"
android:background="#00ffffff"
นอกเหนือจากที่กล่าวถึง Harshad:
อักขระฐานสิบหกสองตัวสามารถผนวกเข้ากับรหัสสีฐานสิบหกใด ๆ อักขระสองตัวแรกในรหัสสีฐานสิบหก 8 หลักแสดงถึงความทึบใน Android
อักขระฐานสิบหกสองตัวสามารถอยู่ในช่วงตั้งแต่ 00 ถึง FF ตัวอย่างเช่น,
วิธีนี้คุณสามารถเปลี่ยนสีใด ๆ ให้อยู่ในระดับความโปร่งใส
วิธีค้นหาคำนำหน้าเลขฐานสิบหกจากเปอร์เซ็นต์:
หารจำนวนเปอร์เซ็นต์ด้วย 100 และคูณด้วย 255 เพื่อรับค่าทศนิยม แปลงทศนิยมเลขฐานสิบหกที่นี่
ตัวอย่างเช่นสำหรับ 50%, 50/100 * 255 = 127 การใช้ลิงก์เราจะได้รับค่าเลขฐานสิบหก 7F
แหล่งที่มา: Android: วิธีสร้างพื้นหลังโปร่งใสหรือทึบแสง
หากคุณต้องการเพิ่มความโปร่งใส 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.
ใช้รหัสด้านล่างสำหรับสีดำ:
<color name="black">#000000</color>
ตอนนี้ถ้าคุณต้องการใช้ความทึบคุณสามารถใช้รหัสด้านล่าง:
<color name="black">#99000000</color>
และด้านล่างสำหรับรหัสความทึบ:
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
มีค่าคงที่ที่กำหนดไว้ล่วงหน้าแล้ว Color.TRANSPARENT
ใช้
Color.TRANSPARENT
ถูกตั้งค่าเป็น0x00000000
(ไม่ใช่ทึบแสงเต็มที่ที่คาดไว้0xFF000000
) ดังนั้นขึ้นอยู่กับวิธีที่คุณไปเกี่ยวกับมันค่าคงที่นี้อาจไม่ช่วยให้บรรลุความโปร่งใสจริง ๆ ! ยังคง +1 สำหรับการแนะนำค่าคงที่!
มีตัวโปร่งใสในตัว Android: R.color.transparent อยู่แล้ว http://developer.android.com/reference/android/R.color.html#transparent
แต่ฉันคิดว่าคุณอาจต้องการสร้างพื้นหลังของภาพที่คุณวางไว้ใน WebView แบบโปร่งใสเช่นด้วย PNG แบบโปร่งใสแทนที่จะเป็นพื้นหลัง ImageView หากภาพที่แท้จริงไม่ได้ดูผ่านทั้งหมดพื้นหลัง ImageView จะไม่สามารถมองเห็นได้
ในกรณีที่คุณต้องการในรหัสเพียง:
mComponentName.setBackgroundColor(Color.parseColor("#80000000"));
ลองรหัสนี้ :)
มันคือรหัส hexa โปร่งใสอย่างสมบูรณ์ - "# 00000000"
หรือแยกวิเคราะห์ ID ทรัพยากรด้วยรหัสต่อไปนี้:
mComponentName.setBackgroundColor(getResources().getColor(android.R.color.transparent));
ในไฟล์ XML ของคุณตั้งค่าแอตทริบิวต์ "Alpha"
เช่น
android:alpha="0.0" // for transparent
android:alpha="1.0" // for opaque
คุณสามารถให้ค่าใด ๆ ระหว่าง 0.0 ถึง 1.0 เป็นทศนิยมเพื่อใช้ความโปร่งใสที่จำเป็น ตัวอย่างเช่น 0.5 ความโปร่งใสเหมาะอย่างยิ่งสำหรับส่วนประกอบที่ถูกปิดใช้งาน
สำหรับผู้ที่ยังคงประสบปัญหานี้คุณอาจลองทำสิ่งนี้
element.getBackground().setAlpha(0);
NullPointerException: Attempt to invoke virtual method 'void android.graphics.drawable.Drawable.setAlpha(int)' on a null object reference
element
ดูว่าเป็นวัตถุ null
ใช้สิ่งต่อไปนี้เพื่อความโปร่งใสโดยสมบูรณ์:
#00000000
เมื่อฉันลองกับ # 80000000 ฉันได้ภาพซ้อนทับโปร่งใสสีดำซึ่งฉันไม่ต้องการ ลองเปลี่ยนตัวเลขสองตัวแรก มันควบคุมระดับของความโปร่งใสเช่น
#00000000
#10000000
#20000000
#30000000
อีกวิธีง่าย ๆ :
mComponentName.setBackgroundResource(android.R.color.transparent);
ตัวเลือกการทำงานอื่นที่ฉันเจอคือการตั้งค่า android:background="@null"
คุณสามารถใช้View.setAlpha(float)
เพื่อเปลี่ยนการเปิดเผยได้อย่างแม่นยำ
0 จะโปร่งใส 1 มองเห็นได้ทั้งหมด ;)
ลองใช้รหัสต่อไปนี้ มันจะช่วยคุณอย่างเต็มที่หรือมากกว่า
ไฟล์. xml ที่ออกแบบมาเพื่อใช้รหัสนี้เพื่อตั้งค่าสีพื้นหลัง:
android:background="#000000"
หรือ
android:background="#FFFFFF"
หรือคุณสามารถตั้งค่าโดยทางโปรแกรมเช่นกัน
นอกจากนี้คุณสามารถใช้รหัสนี้โดยทางโปรแกรม:
image.setBackgroundDrawable(getResources().getDrawable(
R.drawable.llabackground));
นอกจากนี้รหัสนี้สำหรับการตั้งค่าสีพื้นหลังเช่นกันโดยทางโปรแกรม:
image.setBackgroundColor(Color.parseColor("#FFFFFF"));
รหัสนี้เหมือนกันโดยทางโปรแกรม:
image.setBackgroundColor(getResources().getColor(Color.WHITE));
สีขึ้นอยู่กับการเลือกสีที่คุณต้องการใช้เพื่อความโปร่งใส ส่วนใหญ่ใช้สีขาวหรือสี #FFFFFF
เกี่ยวกับR.drawable.llabackground
: บรรทัดของโค้ดนี้มีไว้สำหรับสไตล์ของพื้นหลังของคุณเช่นบางสิ่งที่พิเศษหรือแตกต่างเพื่อจุดประสงค์ของคุณ คุณยังสามารถใช้สิ่งนี้
หากคุณใช้ภาพ XML ที่วาดได้คุณสามารถทำให้โปร่งใสดังที่แสดงในภาพด้านล่างหรือคุณสามารถใช้รหัสสี:
<color name="black">#99000000</color>
คำจำกัดความสีพร้อมข้อมูลความโปร่งใสอาจอยู่ในรูปแบบ
#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
ImageView.setBackground(R.drawable.my_background);
ImageView.setBackgroundResource(R.color.colorPrimary);
ImageView.getImageAlpha();
ImageView.setAlpha(125); // transparency
ลองสิ่งนี้:
#aa000000
เพื่อความโปร่งใส 000000 = สีดำคุณสามารถเปลี่ยนตัวเลขหกสีเหล่านี้สำหรับสีที่คุณต้องการ