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

2020-10-30 00:58:36 浏览数 (2)

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全透明渐变切换方法就是小编分享给大家的全部内容了,希望能给大家一个参考。

0 人点赞