动态设置 Activity由左向由或由右向左
1.编写 LayoutAnimation XML
layout_left_in.xml
side_left.xml
layout_right_in.xml
side_right.xml
2. 在Activity中通过LayoutAnimationController 动态设置 Layout的LayoutAnimation
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);
}