Android: Background = "" يعطي خطأ
-
24-09-2019 - |
سؤال
لا يمكنني إعطاء أي خلفية للنشاط. عندما أترك هذه الخاصية فارغة ، فإنه يعطيني خطأ.
وقد حاولت استخدام @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 كما في هذا درس تعليمي.
لا تنتمي إلى StackOverflow