单击按钮时滑入另一个XML布局

时间:2013-07-25 14:57:10

标签: java android android-layout

我有一个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布局文件

2 个答案:

答案 0 :(得分:1)

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

下面是一个示例代码:

boolean isFirstXml=evaluatingConditionFunction();
LayoutInflater inflator=getLayoutInflater();
View view=inflator.inflate(isFirstXml?R.layout.myfirstxml:R.layout.myseconxml, null, false);
view.startAnimation(AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right));
setContentView(view);

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

对于自定义动画,您可以访问开发人员文档。继承人documentation链接。

答案 1 :(得分:1)

您还可以使用此功能:overridePendingTransition可以为即将进行的活动定义动画,也可以为退出的活动定义其他动画。

在第二个活动中使用它:

@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);
}
相关问题