سؤال

لا يمكنني إعطاء أي خلفية للنشاط. عندما أترك هذه الخاصية فارغة ، فإنه يعطيني خطأ.

وقد حاولت استخدام @null كقيمة ولكنها تظهر خلفية سوداء.

هل يمكن لأي شخص أن يرشدني ، كيف تجعلها شفافة؟

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

المحلول

يجب عليك القيام بذلك باستخدام الأنماط. في res/values/styles.xml, ، لديك تعريف موضوع:

<style name="MyTheme">
  <item name="android:background">@android:color/transparent</item>
  <item name="android:windowIsFloating">true</item>
</style>

على حد علمي ، يجب عليك تعيين Windowfloating ، وإلا فإن وقت التشغيل لن يرسم خلفية شفافة (من المفترض لأسباب الأداء ... لكنني رأيت هذا السلوك تغيير بين إصدارات النظام الأساسي المختلفة ، لذلك يمكنك أولاً المحاولة بدونها).

ثم اضبط موضوع نشاطك في البيان:

<activity android:name="..." android:theme="@style/MyTheme" ... />

يجب أن قيام بهذه المهمة.

نصائح أخرى

للحصول على نشاط ، يمكنك تعيين السمة على شفاف في طريقة OnCreate:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
setTheme(android.R.style.Theme_Translucent);}

يمكنك أيضًا القيام بذلك في ملف XML كما في هذا درس تعليمي.

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