Activity全透明渐变切换
类似于Dialog的显示动画效果一样
1. 先设置Acitivity为去透明,在取消掉Activity默认的切换动画
代码语言:javascript复制 <style name="AppTheme2" parent="Theme.AppCompat.Light"
<!-- Customize your theme here. --
<item name="windowNoTitle" true</item
<item name="colorPrimary" @color/colorPrimary</item
<item name="colorPrimaryDark" @color/tabbackground</item
<item name="colorAccent" @color/colorAccent</item
<item name="android:windowBackground" @color/transparent</item //这个之时全透明
<item name="android:windowIsTranslucent" true</item
<item name="android:windowAnimationStyle" @style/activityanimation</item
</style
<style name="activityanimation"
<item name="android:activityOpenEnterAnimation" @null</item
<item name="android:activityOpenExitAnimation" @null</item
<item name="android:activityCloseEnterAnimation" @null</item
<item name="android:activityCloseExitAnimation" @null</item
</style
2. 设置渐变动画:
代码语言:javascript复制<?xml version="1.0" encoding="utf-8"?
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@ id/ll"
android:orientation="vertical"
android:layout_width="match_parent"
android:background="#000"
android:layout_height="match_parent"
<MyImageView
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_centerInParent="true"
android:clickable="true"
android:background="@mipmap/meinv"/
</RelativeLayout
代码语言:javascript复制public class Activitytwo extends AppCompatActivity{
private int tran=0x00000000;
private int end=0x88000000;
private RelativeLayout ll;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.ativity);
ll = (RelativeLayout) findViewById(R.id.ll);
returnposition();
ll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
public void returnposition()
{
ValueAnimator colorAnim = ObjectAnimator.ofInt(ll, "backgroundColor", tran, end);
colorAnim.setDuration(300);
colorAnim.setEvaluator(new ArgbEvaluator());
colorAnim.start();
}
@Override
public void finish() {
ValueAnimator colorAnim = ObjectAnimator.ofInt(ll, "backgroundColor", end, tran);
colorAnim.setDuration(300);
colorAnim.setEvaluator(new ArgbEvaluator());
colorAnim.start();
super.finish();
}
}
以上这篇Android开发之Activity全透明渐变切换方法就是小编分享给大家的全部内容了,希望能给大家一个参考。