【发布时间】:2013-07-25 09:54:55
【问题描述】:
我尝试在 2 个布局之间设置自定义动画。
public class MainActivity extends FragmentActivity {
View menu = null;
ViewGroup parent = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_models);
//initialize the container and his parent
menu = findViewById(R.id.menu_model);
parent = (ViewGroup) menu.getParent();
//set transition
LayoutTransition lt = new LayoutTransition();
lt.enableTransitionType(LayoutTransition.CHANGING);
parent.setLayoutTransition(lt);
restoreMenu(null);
}
//display second menu
public void changeMenu(View view) {
int index = parent.indexOfChild(menu);
View old = menu;
menu = getLayoutInflater().inflate(R.layout.menu_2, parent, false);
parent.addView(menu, index);
parent.removeView(old);
}
//display first menu
public void restoreMenu(View view) {
int index = parent.indexOfChild(menu);
View old = menu;
menu = getLayoutInflater().inflate(R.layout.menu_1, parent, false);
parent.addView(menu, index);
parent.removeView(old);
}
}
如您所见,我正在使用 LayoutTransition 和 LayoutTransition.CHANGING 效果。
但我希望它看起来像这样:
我的旧菜单在左边,而我的新菜单从右边来。
你有什么想法我该怎么做吗? LayoutTransition 能做到吗?
【问题讨论】:
-
我的上一篇文章可以帮到你stackoverflow.com/questions/17852481/…
-
谢谢,但它在 2 个活动之间使用,我正在寻找 2 个视图之间的动画
-
你找到解决办法了吗?
标签: android android-linearlayout transition