Проблема дублирования фонов прозрачной активности Android
Я сделал прозрачную активность, используя стиль:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<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">false</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
Макет:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_gravity="bottom"
android:layout_margin="8dp"
android:background="@drawable/notification_layout_rect"
android:id="@+id/clWin"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="250dp">
</LinearLayout>
И код:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
makeStatusBarTransparent()
}
private fun makeStatusBarTransparent() {
if (Build.VERSION.SDK_INT >= 21) {
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
window.statusBarColor = resources.getColor(android.R.color.transparent)
}
}
}
Проблема: Но когда я несколько раз нажимал на кнопку навигации Обзор, я получал фонэффект дублирования.Есть ли способ исправить эту проблему?
Проблема воспроизводима по крайней мере на Android 5.1.1 и 7.0
Sourceкод: https://www.dropbox.com/s/6xghi6a3wten42a/TransparentActivity.zip?dl=0