سؤال

أنا أستخدم عرض الويب الذي أضيف فيه عرض صورة. كيف يمكنني ضبط خلفية هذه الصورة عرض شفاف؟

لقد حاولت هذا:

mImageview.setBackgroundResource(R.color.trans);

أين trans<color name="trans">#00000000 </color>.

هل كانت مفيدة؟

المحلول

في جهاز XML الخاص بك Background السمة إلى أي لون، White(#FFFFFF) الظل أو Black(#000000) الظل. إذا كنت تريد الشفافية، فضع 80 قبل رمز التجزئة الفعلي:

#80000000

سيؤدي ذلك إلى تغيير أي لون تريده من الشفافية .. :)

نصائح أخرى

يمكنك ضبط الخلفية شفافة لأي تخطيط أو أي عرض أو أي مكون من خلال إضافة هذا الرمز في XML:

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

بالإضافة إلى ما ذكره هارشاد:

يمكن إلحاق شخصيات ست عشرية على أي رمز اللون سداسي عشري. يمثل أول حرفين في رمز لون عرافة مكون من 8 أرقام عتامة في Android.

يمكن أن تتراوح الشخصيتين السداسي عشري من 00 إلى FF. علي سبيل المثال،

  • Opaque العادي الأسود HEX- "# 000000"
  • شفافة بالكامل - "# 00000000"
  • غير مبهمة بالكامل - "# FF000000"
  • 50٪ شفافة - "# 7F000000"

بهذه الطريقة يمكنك تغيير أي لون إلى أي مستوى من الشفافية.

للعثور على البادئة السددي من النسبة المئوية:

قسم رقم النسبة المئوية بنسبة 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٪ - فرنك بلجيكي

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

استخدم هذا الرمز للون الشفاف

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

هناك بالفعل ثابت محدد مسبقا. يستخدم Color.TRANSPARENT.

هناك بالفعل شفاف مدمج في Android: R.Color.Transparent. http://developer.android.com/Reference/Android/r.color.html#TRANT.

لكنني أعتقد أنك قد ترغب في جعل خلفية الصورة التي تقوم بوضعها في WebView شفافة، على سبيل المثال، مع PNG شفافة، بدلا من خلفية ImageView. إذا كانت الصورة الفعلية ليست على الإطلاق انظر ثم لا يمكن رؤية خلفية ImageView من خلالها.

في حال كنت تريد ذلك في التعليمات البرمجية، فقط:

mComponentName.setBackgroundColor(Color.parseColor("#80000000"));

أو، كحلول، تحليل معرف المورد مع التعليمات البرمجية التالية:

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

بالنسبة لأولئك الذين ما زالوا يواجهون هذه المشكلة، قد تجرب هذا
element.getBackground().setAlpha(0);

في ملف XML الخاص بك، قم بتعيين سمة "Alpha"

مثل

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

يمكنك إعطاء أي قيمة بين 0.0 إلى 1.0 في عشري لتطبيق الشفافية المطلوبة. على سبيل المثال، 0.5 الشفافية مثالية للمكون المعوقين

جرب هذا الرمز :)

إنه رمز HEXA شفافة بالكامل - "#00000000"

طريقة واحدة أكثر بسيطة:

mComponentName.setBackgroundResource(android.R.color.transparent);

خيار عمل آخر صادفته هو ضبط android:background="@null"

استخدم ما يلي للشفافية الكاملة:

#00000000

عندما حاولت مع # 80000000 حصلت على تراطة شفافة سوداء لا أريدها. حاول تغيير أول رقمين؛ يتحكم في مستوى الشفافية، مثل

#00000000
#10000000
#20000000
#30000000

يمكنك أيضا استخدام View.setAlpha(float) لتغيير الرؤية بدقة.

سيكون 0 شفافة، 1 مرئية بالكامل. ؛)

في Android Studio، من السهل جدا ضبط اللون والعتامة باستخدام أداة مدمجة:

Android Adjust Color Opacity

حاول استخدام التعليمات البرمجية التالية. سوف يساعدك بالكامل أو أكثر.

  1. ملف .xml مصمم لاستخدام هذا الرمز لتعيين لون الخلفية:

    android:background="#000000"
    

    أو

    android:background="#FFFFFF"
    

    Image is here

    أو يمكنك تعيينه برمجيا أيضا.

  2. يمكنك أيضا استخدام هذا الرمز برمجيا:

    image.setBackgroundDrawable(getResources().getDrawable(
        R.drawable.llabackground));
    
  3. أيضا هذا الرمز لإعداد لون الخلفية وكذلك برمجيا:

    image.setBackgroundColor(Color.parseColor("#FFFFFF"));
    
  4. هذا الرمز لنفسه برمجيا:

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

يعتمد اللون على اختيارك من اللون الذي تريد استخدامه للشفافية. معظمها استخدام لون أبيض أو #FFFFFFF.

بخصوص R.drawable.llabackground: هذا الخط الرمز هو أسلوبك في الخلفية، مثل شيء خاص أو مختلف لغرضك. يمكنك أيضا استخدام هذا.

إذا كنت تستخدم صورة XML قابلة للشرح، فيمكنك جعلها شفافة كما هو موضح في الصورة أدناه، أو يمكنك استخدام رمز اللون:

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

Enter image description here

ImageView.setBackground(R.drawable.my_background);

ImageView.setBackgroundResource(R.color.colorPrimary);

ImageView.getImageAlpha();

ImageView.setAlpha(125); // transparency

جرب هذا:

#aa000000

بالنسبة للشفافية 000000 = أسود، يمكنك تغيير هذه الأرقام الستة للون الذي تريده.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top