欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

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

来源: 开发者 投稿于  被查看 5652 次 评论:154

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


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

以上这篇Android开发之Activity全透明渐变切换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持帮客之家。

用户评论