android 动态设置Activity 的切换方向


动态设置 Activity由左向由或由右向左

1.编写 LayoutAnimation XML

layout_left_in.xml

<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/animation_left"
        android:delay="100%"
        android:animation="@anim/side_left" />



side_left.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
	<translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="300"/>
	<alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="300" />
</set>



layout_right_in.xml

<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
        android:delay="100%"
        android:animation="@anim/side_right" />


side_right.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
    <translate android:fromXDelta="-100%p" android:toXDelta="0"
            android:duration="@android:integer/config_shortAnimTime" />
</set>


2. 在Activity中通过LayoutAnimationController 动态设置 Layout的LayoutAnimation

LayoutAnimationController controller = null;
	Bundle extras;

	public void onCreate(Bundle saveInstanceState) {
		super.onCreate(saveInstanceState);
		// setContentView(R.layout.sales_memo_list);

		LayoutInflater factory = LayoutInflater
				.from(SalesMemoListActivity.this);
		final LinearLayout dialogEntryView = (LinearLayout) factory.inflate(
				R.layout.sales_memo_list, null);
		extras = getIntent().getExtras();
		if (extras != null) {
			String animation = extras.getString("animation");
			if (animation.equals("left")) {
				controller = AnimationUtils.loadLayoutAnimation(this,
						R.anim.layout_left_in);
			} else {
				controller = AnimationUtils.loadLayoutAnimation(this,
						R.anim.layout_right_in);
			}
			dialogEntryView.setLayoutAnimation(controller);
		}
		setContentView(dialogEntryView);
}

你可能感兴趣的:(java,android,xml)