文章
本地验证
方法一 : 红米/Android R验证有效
android {
compileSdk 31
defaultConfig {
applicationId "com.huanhailiuxin.project001"
minSdk 29
targetSdk 31
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
<color name="transparent">#00000000</color>
//1:状态栏和导航栏颜色相比较Activity打开前仍然能看出来
<style name="Transparent" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>
//2:状态栏和导航栏颜色相比较Activity打开前,完全无变化
<style name="Transparent" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:statusBarColor">@color/transparent</item>
<item name="android:navigationBarColor">@color/transparent</item>
</style>
<activity
android:name=".activity.Translucent.TranslucentActivity"
android:exported="true"
android:theme="@style/Transparent"
android:screenOrientation="portrait"
/>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.Translucent.TranslucentActivity"
android:background="@android:color/transparent"
>
<androidx.appcompat.widget.AppCompatButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
android:text="透明Activity上的Button"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
class TranslucentActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_translucent)
}
}
import androidx.appcompat.app.AppCompatActivity
open class BaseActivity : AppCompatActivity() {
}