and roid日ナイトモード切り替え動画
3110 ワード
転載は出典を説明してください.http://blog.csdn.net/asd2603934/article/details/50541701
いくつかのアプリケーションでは、日夜モードが必要です.モードを切り替えた後、点移行動画を与えないと、効果は悪く見えます.
どのような方法でこの移行アニメを作りますか?
第一種類:一つのactivityで遷移をすることを選択します.
まずactivityを作ります.
activityin内容:
いくつかのアプリケーションでは、日夜モードが必要です.モードを切り替えた後、点移行動画を与えないと、効果は悪く見えます.
どのような方法でこの移行アニメを作りますか?
第一種類:一つのactivityで遷移をすることを選択します.
まずactivityを作ります.
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.WindowManager;
import com.sdhz.yuko.R;
/**
* @author majunze
* @Title: SwitchModeActivity
* @Description: - activity
* @date 2016-1-19
* @email [email protected]
*/
public class SwitchModeActivity extends BaseActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// requestWindowFeature(Window.FEATURE_NO_TITLE); // setContentView() , androidManifest.xml SwitchModeActivity android:theme="@android:style/Theme.NoTitleBar.Fullscreen", ,
setContentView(R.layout.activity_switchmode);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); // ,
// activity
new Handler().postDelayed(new Runnable() {
public void run() {
//execute the task
back(null);
}
}, 2000);
}
public void back(View v) {
this.finish();
try {
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
} catch (Exception e) {
}
}
//
@Override
public void onBackPressed() {
back(null);
}
}
res/animフォルダに2つのxmlを新規作成し、それぞれactivity_inとactivityoutactivityin内容:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- fromAlpha: ;toAlpha: ;duration: -->
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="1.0" >
</alpha>
</set>
activityout内容:<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="500"
android:interpolator="@android:anim/decelerate_interpolator"
>
</alpha>
</set>
その後、切替モードが必要な方法の呼び出しにおいて、次のコードが実行されます.Intent mode = new Intent(getActivity(), SwitchModeActivity.class);
this.startActivity(mode);
getActivity().overridePendingTransition( R.anim.activity_in,R.anim.activity_out);//
これにより移行動画が実現し、この方式でもactivityの切り替え効果が得られます.xmlファイルを修正すればいいです.