Pertanyaan Bagaimana cara membuat Aktivitas transparan di Android?


Saya ingin membuat Aktivitas transparan di atas aktivitas lain.

Bagaimana saya bisa mencapai ini?


782
2018-02-01 13:28


asal


Jawaban:


Tambahkan gaya berikut di Anda res/values/styles.xml file (jika Anda belum memilikinya, buatlah.) Ini file lengkap:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="Theme.Transparent" parent="android:Theme">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:backgroundDimEnabled">false</item>
  </style>
</resources>

(Nilai @color/transparent adalah nilai warna #00000000 yang saya masukkan ke dalam res/values/color.xml mengajukan. Anda juga bisa menggunakan @android:color/transparent di versi Android nanti.)

Kemudian terapkan gaya ke aktivitas Anda, misalnya:

<activity android:name=".SampleActivity" android:theme="@style/Theme.Transparent">
...
</activity>

1222
2018-04-23 17:37



Seperti ini:

<activity android:name=".usual.activity.Declaration" android:theme="@android:style/Theme.Translucent.NoTitleBar" />

175
2018-02-01 14:47



Dengan pustaka "AppCompat" atau "Perpustakaan Dukungan Desain Android" itu sedikit berbeda:

Di styles.xml:

<style name="Theme.AppCompat.Translucent" parent="Theme.AppCompat.NoActionBar">
    <item name="android:background">#33000000</item> <!-- Or any transparency or color you need -->
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:colorBackgroundCacheHint">@null</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>

Di AndroidManifest.xml:

<activity>
    android:name=".WhateverNameOfTheActivityIs"
    android:theme="@style/Theme.AppCompat.Translucent"
    ...
</activity>

81
2017-07-28 21:26



Deklarasikan aktivitas Anda dalam manifes seperti ini:

 <activity   
     android:name=".yourActivity"    
     android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>

Dan tambahkan latar belakang transparan ke tata letak Anda.


32
2017-07-02 05:07



Tetapkan tema tembus ke aktivitas yang ingin Anda transparan dalam file manifes Android proyek Anda:

<activity
    android:name="YOUR COMPLETE ACTIVITY NAME WITH PACKAGE"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" />

25
2017-10-29 05:36



Saya ingin menambahkan ini sedikit karena saya adalah pengembang Android baru juga. Jawaban yang diterima sangat bagus, tetapi saya mengalami beberapa masalah. Saya tidak yakin bagaimana cara menambahkan warna ke file colors.xml. Beginilah cara melakukannya:

colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
     <color name="class_zero_background">#7f040000</color>
     <color name="transparent">#00000000</color>
</resources>

Dalam file colors.xml asli saya, saya memiliki tag "drawable":

<drawable name="class_zero_background">#7f040000</drawable>

Jadi saya melakukan itu untuk warna juga, tapi saya tidak mengerti bahwa referensi "@ color /" berarti mencari tag "warna" dalam XML. Saya pikir saya harus menyebutkan ini juga untuk membantu orang lain keluar.


14
2018-04-22 12:55



Saya mencapainya di 2.3.3 hanya dengan menambahkan android:theme="@android:style/Theme.Translucent" di tag aktivitas dalam manifes.

Saya tidak tahu tentang versi yang lebih rendah ...


13
2017-09-21 12:07