簡體   English   中英

Android活動從底部到頂部以及從頂部到底部的黑色背景過渡

[英]Android activity transition from bottom to top and top to bottom black background issue

MainActivity具有導航抽屜,tabLayout和viewPager的三個片段。

單擊片段按鈕,需要調用另一個活動。 它需要從“底部到頂部”的過渡,並且當它回到主要活動時,它需要從“頂部到底部”的過渡。

這是主要的活動UI。

在此處輸入圖片說明

在此處輸入圖片說明

上面是從底部到頂部的過渡。 我在過渡期間捕獲了快照。 我用紅色框突出顯示。 這就是問題。 我看到黑色區域。

我的AppTheme就是這樣

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="android:colorBackground">@android:color/white</item>
        <item name="alertDialogTheme">@style/AppCompatAlertDialogStyle</item>
</style>

但是我不想看到過渡中的黑色區域,如何解決它。 如果需要更改為片段,那么我還有另一篇有關片段的文章,他們還有另一個問題。 bottom_to_top_enter

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">
    <translate
        android:duration="3000"
        android:fromXDelta="0%"
        android:fromYDelta="100%"
        android:toXDelta="0%"
        android:toYDelta="0%" />
</set>

Bottom_to_top_exit

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"  android:shareInterpolator="false">
    <translate
        android:duration="3000"
        android:fromXDelta="0%"
        android:fromYDelta="0%"
        android:toXDelta="0%"
        android:toYDelta="-100%" />
</set>

top_to_bottom_enter

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    android:shareInterpolator="false">
    <translate
        android:duration="3000"
        android:fromXDelta="0%"
        android:fromYDelta="-100%"
        android:toXDelta="0%"
        android:toYDelta="0%" />
</set>

top_to_bottom_exit

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">
    <translate
        android:duration="3000"
        android:fromXDelta="0%"
        android:fromYDelta="0%"
        android:toXDelta="0%"
        android:toYDelta="100%" />
</set>

非常感謝。

嘗試這個 :

在res文件夾中創建一個anim文件夾,然后復制以下四個文件:

slide_in_bottom.xml:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="100%p"
android:duration="@android:integer/config_longAnimTime"/>  

slide_out_bottom.xml:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="0" 
android:duration="@android:integer/config_longAnimTime" /> 

slide_in_top.xml:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
 android:toYDelta="0%p"
android:duration="@android:integer/config_longAnimTime" />

slide_out_top.xml:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:toYDelta="100%p"
android:duration="@android:integer/config_longAnimTime" />

致電開始活動后致電

overridePendingTransition(R.anim.slide_in_bottom, R.anim.slide_out_bottom);

要么

overridePendingTransition(R.anim.slide_in_top, R.anim.slide_out_top);

@Aniruddh Parihar,黑色間隙變小了。 但是還是...

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM