我有一个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
布局文件
答案 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);
}