Ответ 1
AFAIK, между ними будет относительная связь.
То есть, если вы хотите перевести скрытый текст с справа на экран слева от экрана, нажав кнопку, вам действительно нужно перевести его из 100% от X-направления ( на правой стороне экрана) до 0% от X-направления (в левой части экрана).
На этом этапе вам не нужно менять направление Y на всех. Так что это будет 0% для обоих параметров. Итак, у вас будет:
fromXDeltastrong > 100%
toXDeltastrong > 0%
fromYDeltastrong > 0%
toYDeltastrong > 0%
вы можете ограничить просмотр компонента, установив этот процент от 0 до 100, согласно вашему требованию.
Аналогично, если вам нужно перевести компонент в направлении Y, тогда вам нужно изменить 0% на какое-то другое значение.
Надеюсь, теперь это ясно для вас.
EDIT:
для вашего требования, вам нужно переопределить onclick кнопки-1, и там вы можете контролировать видимость кнопки-2, а также перевод.
создайте файл анимации в папке с анимацией в папке res.
translate_button.xml:
<?xml version="1.0" encoding="utf-8"?>
<!-- translating button from right to left -->
<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="900"
/>
</set>
теперь, в вашем файле активности,
...
// ll is linear layout containing button_2
//counter is used to manage visibility of button_2 on click of button_1,i.e.1st click-button_2 would be visible,on 2nd click on button_1,it would be invisible.
//you can change behavior as per your need
button_2.setVisibility(View.GONE);
button_1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if(counter<1)
{
counter++;
button_2.setVisibility(View.VISIBLE);
Animation anim=AnimationUtils.loadAnimation(context, R.anim.translate_button);
button_2.startAnimation(anim);
}
else
{
counter=0;
button_2.setVisibility(View.GONE);
}
}
});
ll.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if(counter==1)
{
counter=0;
button_2.setVisibility(View.GONE);
}
}
});
...