FrameLayout:是否可以将子布局放在屏幕外?

时间:2013-05-02 12:57:10

标签: android xml android-framelayout

是否可能具有如下结构。 让LinearLayout在屏幕前显示:

<FrameLayout>

   <LinearLayout>
   .. Back Layout
   </LinearLayout>

   <LinearLayout>
   .. Front layout
   </LinearLayout>

</FrameLayout>

这是图片。enter image description here 我尝试过的: 我已经尝试为LinearLayout A(前面)设置android:layout_marginLeft =“ - 300dp”,但是一旦我在手机上测试它,A布局就会回到可见区域内。 在动画结束后,我还尝试使用TranslateAnimation将A布局推离屏幕。布局回到可见区域内。

请帮我解决问题。谢谢。

1 个答案:

答案 0 :(得分: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>
在MyActivity中

//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动画的动画也是如此,除了将onAnimationStart设置为visibilty为可见。 代码中的MenuList是问题中图中的A布局。

<强>更新 * 今天做滑动菜单的最佳方法是使用DrawerLayout。 *