3
Привет: Когда пользователь нажимает на другую вкладку, анимация должна появиться на следующем представлении? Что лучше делать?Переключатель вкладки Анимация с TabHost
Привет: Когда пользователь нажимает на другую вкладку, анимация должна появиться на следующем представлении? Что лучше делать?Переключатель вкладки Анимация с TabHost
По умолчанию анимация не применяется, по крайней мере, на сотах. Вид просто появится.
Вы могли бы сделать что-то вроде этого, если вы хотите, чтобы оживить его:
Найти ребенка вкладки и играть анимацию на нем.
Пример: Сначала установите слушателя:
exampleTabhost.setOnTabChangedListener(new OnTabChangeListener()
{
@Override
public void onTabChanged(String tabId)
{
refreshTabHostUI(exampleTabhost);
}
});
В прослушивателе играть анимацию на вкладке:
View tab1 = th.findViewById(R.id.tab1);
if(tab1 != null)
playAnim(tab1, getBaseContext(), android.R.anim.fade_in, 500);
Play функции аним:
public Animation playAnim(View v, Context con, int animationid, int startOffset)
{
if(v != null)
{
Animation animation = AnimationUtils.loadAnimation(con, animationid );
animation.setStartOffset(startOffset);
v.startAnimation(animation);
return animation;
}
return null;
}
Альтернативно, setLayoutAnimation (и атрибут layoutAnimation XML) могут обеспечить более простой способ сделать то же самое. Однако я его не тестировал. – Delyan