【问题标题】:LayoutTransition custom the transitionLayoutTransition 自定义过渡
【发布时间】: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);
    }
}

如您所见,我正在使用 LayoutTransitionLayoutTransition.CHANGING 效果。 但我希望它看起来像这样:

我的旧菜单在左边,而我的新菜单从右边来。

你有什么想法我该怎么做吗? LayoutTransition 能做到吗?

【问题讨论】:

标签: android android-linearlayout transition


【解决方案1】:

TranslateAnimation定义滑入和滑出动画,然后使用

overridePendingTransition(int enterAnim, int exitAnim)

这个http://developer.android.com/reference/android/app/Activity.html#overridePendingTransition(int, int)

【讨论】:

  • 谢谢,但我没有使用 startActivity() 这是一个视图翻译
  • 然后将单独的 TranslateAnimation 分配给每个布局?
猜你喜欢
  • 2013-11-23
  • 1970-01-01
  • 2014-03-04
  • 2020-03-12
  • 2012-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-08
相关资源
最近更新 更多