我尝试在两个布局之间设置自定义动画。
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
能做到吗? 最佳答案
使用TranslateAnimation
定义滑入和滑出动画,然后使用
overridePendingTransition(int enterAnim, int exitAnim)
这个http://developer.android.com/reference/android/app/Activity.html#overridePendingTransition(int,int)
关于android - LayoutTransition自定义过渡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17854708/