0

我有一个main.xml布局文件,在我的 Java 代码中,我正在从main布局中进行一些计算,并希望在result.xml布局文件中显示。我知道我可以使用该anim文件夹来保存动画以在result布局中滑动,如下所示:

左到右:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
  <translate android:fromXDelta="-100%" android:toXDelta="0%"
             android:fromYDelta="0%" android:toYDelta="0%"
             android:duration="700"/>
</set>

右到左:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
  <translate
     android:fromXDelta="0%" android:toXDelta="100%"
     android:fromYDelta="0%" android:toYDelta="0%"
     android:duration="700" />
</set>

main我想知道如何实现上述内容,因此当单击布局文件上的按钮时,result布局文件会从右侧滑入。而且,如果我想回到main布局,我可以按一个按钮(添加到result布局上)向右滑动main布局文件

4

2 回答 2

1

您始终可以使用 Android 框架提供的默认库存动画。

下面是一个示例代码:

boolean isFirstXml=evaluationConditionFunction();
LayoutInflater inflator=getLayoutInflater();
查看视图=inflator.inflate(isFirstXml?R.layout.myfirstxml:R.layout.myseconxml, null, false);
view.startAnimation(AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right));
设置内容视图(视图);

从您拥有父视图的任何活动中调用它。

对于自定义动画,您可以访问开发者文档。这是文档链接。

于 2013-07-25T15:07:47.373 回答
1

你也可以使用这个函数:overridePendingTransition,它可以为即将到来的活动定义一个动画,为退出的活动定义一个其他动画。

在您的第二个 Activity 中像这样使用它:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    overridePendingTransition(android.R.anim.slide_out_right, 0);
    setContentView(R.layout.myLayout);

第一个参数是动画进入,0 是没有动画。

对于离开第二个活动时的动画:

@Override
public void finish() {
    super.finish();
    overridePendingTransition(R.anim.enterAnim, R.anim.leaveAnim);
}
于 2013-07-26T14:48:41.160 回答