Я пытаюсь сделать несколько переводов одновременно на Android.
У меня есть 2 или более кнопок на макете (все одинакового размера), и когда я нажимаю одну, я хочу, чтобы другие вышли изэкран.
Я сделал тестовое приложение, чтобы попытаться реализовать это поведение.
На нем я установил слушателя на нажатие одной кнопки для проверки, что-то вроде:
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Button toMove = (Button) findViewById(R.id.button_test2);
Button toMove2 = (Button) findViewById(R.id.button_test3);
AnimationSet set = new AnimationSet(true);
TranslateAnimation anim = new TranslateAnimation(0, -toMove
.getWidth(), 0, 0);
anim.setFillAfter(true);
anim.setDuration(1000);
toMove.setAnimation(anim);
toMove2.setAnimation(anim);
set.addAnimation(anim);
set.startNow();
}
Вид:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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/button_test" android:layout_width="200px"
android:layout_height="50px" android:text="@string/hello" />
<Button android:id="@+id/button_test2" android:layout_width="200px"
android:layout_height="50px" android:text="@string/hello"/>
<Button android:id="@+id/button_test3" android:layout_width="200px"
android:layout_height="50px" android:text="@string/hello"/>
</LinearLayout>
Дело в том, чтодве кнопки запускают анимацию, одну за другой.Я читал, что это из-за getDelayForView()
, который возвращает разные задержки каждого.Есть ли способ одновременно переместить 2 или более кнопок?
Google не очень помог: - \