1

是否有可能具有像下面这样的结构。并让位于前面的 LinearLayout 离开屏幕:

<FrameLayout>

   <LinearLayout>
   .. Back Layout
   </LinearLayout>

   <LinearLayout>
   .. Front layout
   </LinearLayout>

</FrameLayout>

这是图像。在此处输入图像描述 我尝试过的:我尝试为 LinearLayout A(正面)设置 android:layout_marginLeft="-300dp",但是一旦我在手机上对其进行测试,A 布局就会回到可见区域内。我还尝试使用 TranslateAnimation 将 A 布局从屏幕上推开,动画结束后 A 布局回到可见区域内。

请帮我解决问题。谢谢你。

4

1 回答 1

3

因此,如果有人在这里需要这样的东西,我是如何解决的。内容顶部的滑动菜单。问题中描述的布局结构。这是 xml 中的一个简单动画:show_menu.xml

<?xml version="1.0" encoding="utf-8"?>

<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">
    <translate
        android:fromXDelta="-100%" 
        android:toXDelta="0%"
        android:duration="400">
    </translate>
</set>

hide_menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">
    <translate
        android:fromXDelta="0%" 
        android:toXDelta="-100%"
        android:duration="400">
    </translate>
</set>

在我的活动中

//loading hide animation and setting listener.
anim = AnimationUtils.loadAnimation(this, R.anim.hide_menu); 
    anim.setAnimationListener(new Animation.AnimationListener() {

        @Override
        public void onAnimationStart(Animation animation) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onAnimationRepeat(Animation animation) {
            // TODO Auto-generated method stub

        }
        //on animation end setting visibility to gone
        @Override
        public void onAnimationEnd(Animation animation) {
            // TODO Auto-generated method stub
            MenuList.setVisibility(View.GONE);
        }
    });

对 show_menu animtaion 的动画执行相同的操作,只是它会将 onAnimationStart 设置为可见性。代码中的 MenuList 是问题中图形的布局。

更新: *今天做滑动菜单的最好方法是使用 DrawerLayout。*

于 2013-05-03T01:32:48.063 回答