当前位置:主页 > 移动开发 > Android代码 >

Android开发之Activity全透明渐变切换方法

时间:2021-04-25 10:10:49 | 栏目:Android代码 | 点击:

Activity全透明渐变切换

类似于Dialog的显示动画效果一样

1. 先设置Acitivity为去透明,在取消掉Activity默认的切换动画

 <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. 设置渐变动画:

<?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>
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();
 }
}

您可能感兴趣的文章:

相关文章