【问题标题】:FrameLayout: is it possible to put child layout off-screen?FrameLayout:是否可以将子布局放在屏幕外?
【发布时间】:2013-05-02 12:57:10
【问题描述】:

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

<FrameLayout>

   <LinearLayout>
   .. Back Layout
   </LinearLayout>

   <LinearLayout>
   .. Front layout
   </LinearLayout>

</FrameLayout>

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

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

【问题讨论】:

  • 为什么要在屏幕外而不是简单地隐藏?
  • 我正在尝试使用幻灯片菜单,但它应该位于 B 布局的顶部。所以它不会把B推到右边。我仍在尝试使用 scrollTo()。
  • 看看 SlidingMenu 库。
  • 我想使用 SlidinMenu 库,但它并没有按照我需要的方式工作,而且对于像我这样的新手来说,更改库以满足我的需要太难了。不过,我会研究 lib 的代码,因为它很有趣。谢谢大家的帮助。

标签: android xml android-framelayout


【解决方案1】:

所以如果有人在这里需要这样的东西,我是如何解决的。 内容顶部的滑动菜单。 问题中描述的布局结构。这是一个简单的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。*

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-14
    • 2016-12-24
    • 2016-07-31
    • 1970-01-01
    相关资源
    最近更新 更多