我有自定義提醒對話框作爲活動,我想動畫當視圖出現和退出時,第一個工作(當出現),但第二個不工作,我不知道如何動畫時退出(點擊之外),如果有人能幫助我預先感謝您幻燈片動畫自定義提醒活動
public class CustomAlertActivity extends Activity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setBackgroundDrawable(new ColorDrawable(Color.argb(200, 255, 0, 0)));
...
overridePendingTransition(R.anim.slide_out_down, R.anim.slide_in_out_up);
}
}
slide_out_down.xml
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator" >
<translate
android:fromYDelta="-100%p"
android:toYDelta="0"
android:duration="1000" />"
/>
</set>
slide_in_out_up.xml
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator" >
<translate
android:fromYDelta="0"
android:toYDelta="-100%p"
android:duration="1000" />"
/>
</set>
的manifest.xml
<activity android:name=".CustomAlertActivity"
android:theme="@android:style/Theme.Dialog"/>
我也試試這MainActivity.class
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, CustomAlertActivity.class);
ActivityOptions options =
ActivityOptions.makeCustomAnimation(MainActivity.this, R.anim.slide_out_down, R.anim.slide_in_out_up);
startActivity(intent, options.toBundle());
}
解決方案:
public class CustomAlertActivity extends Activity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setBackgroundDrawable(new ColorDrawable(Color.argb(200, 255, 0, 0)));
...
getWindow().getAttributes().windowAnimations = R.style.CustomDialog;
}
@Override
public void finish() {
super.finish();
overridePendingTransition(R.anim.slide_out_down, R.anim.slide_in_out_up);
}
}
風格.XML
<style name="CustomDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowEnterAnimation">@anim/slide_out_down</item>
<item name="android:windowExitAnimation">@anim/slide_in_up</item>
</style>
謝謝,現在它沒有任何閃光燈。 –
很高興我幫了忙。請接受答案,以便其他人可以輕鬆找到它! –