Java 相对布局中的动画重新定位其他视图
我对动画有问题,以下是我的代码:Java 相对布局中的动画重新定位其他视图,java,android,layout,animation,Java,Android,Layout,Animation,我对动画有问题,以下是我的代码: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); new Handler().postDelayed(new Runnable(){ @Override public void run() { Ani
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
Animation anim= new TranslateAnimation(0, 0, 0, -200);
anim.setDuration(2000);
anim.setFillAfter(true);
findViewById(R.id.button1).startAnimation(anim);
}
}, 2000);
}
主要布局为:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:text="Button"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:minHeight="120sp"/>
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:text="Button"
android:layout_height="fill_parent"
android:layout_below="@id/button1"
android:minHeight="120sp"/>
</RelativeLayout>
我想让按钮2和按钮1一起移动。我知道我可以对两个按钮应用相同的动画,它们一起移动,但是按钮2将移动到下边缘
有人知道我该怎么解决吗?我不知道你真正想要实现什么。我猜您希望按钮2在动画之后保持在布局的顶部。我说得对吗 据我所知,在Android中,视图在设置其他视图动画时不会重新定位自己。当将视图的可见性设置为“消失”时,它们会重新定位 因此,你可以:
button1.setVisibility( View.GONE );
我不确定你真正想要实现什么。我猜您希望按钮2在动画之后保持在布局的顶部。我说得对吗 据我所知,在Android中,视图在设置其他视图动画时不会重新定位自己。当将视图的可见性设置为“消失”时,它们会重新定位 因此,你可以:
button1.setVisibility( View.GONE );
首先,Android动画不会影响布局。你的按钮并没有真正移动,只是看起来好像移动了
其次,如果您希望两个按钮一起移动,请将它们放在线性布局中,并设置动画。首先,Android动画不会影响布局。你的按钮并没有真正移动,只是看起来好像移动了
其次,如果您希望两个按钮一起移动,请将它们放在线性布局中,并设置动画。谢谢您的回答。所以如果我想要按钮2展开直到填满整个窗口,我应该结合平移和垂直缩放?然后将按钮1向右移动?在代码中,如果您只是将按钮1设置为“移动”,则按钮2会展开并填充整个布局,因为android:layout\u height=“fill\u parent”属性。所以只要在动画之后将button1设置为GONE即可。是的,但我想为GONE时刻设置动画,将button1向上转换并不是那么容易。你有一个相关的问题。在您的情况下,我建议为button2使用不同的动画。希望有帮助。谢谢你的回答。所以如果我想要按钮2展开直到填满整个窗口,我应该结合平移和垂直缩放?然后将按钮1向右移动?在代码中,如果您只是将按钮1设置为“移动”,则按钮2会展开并填充整个布局,因为android:layout\u height=“fill\u parent”属性。所以只要在动画之后将button1设置为GONE即可。是的,但我想为GONE时刻设置动画,将button1向上转换并不是那么容易。你有一个相关的问题。在您的情况下,我建议为button2使用不同的动画。希望能有帮助。