-1

我需要达到以下结果:我的RelativeLayout叠加层最初应该是这样的https://dl.dropboxusercontent.com/u/4277073/view1.png。所以应该只看到 20% 的布局。

Button按下时我应用Animation,以便布局上升并看起来如下https://dl.dropboxusercontent.com/u/4277073/view2.png

叠加布局放置在父级中RelativeLayout,其中包含数量ImageButtons

<RelativeLayout
    android:id="@+id/overlay"
    android:layout_width="match_parent"
    android:layout_below="@+id/actionbar"
    android:layout_height="wrap_content"
    android:background="@drawable/backgroundfeedme"
    android:clickable="true"
     >
 -----number of img buttons here -- 
 </RelativeLayout>

我试图设置它的初始位置如下

rlOverlay = (RelativeLayout) v.findViewById(R.id.overlay);
ViewTreeObserver vto = rlOverlay.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
      public void onGlobalLayout() {
           WindowManager wm = (WindowManager) MainActivity.appContext.getSystemService(Context.WINDOW_SERVICE);
           Display display = wm.getDefaultDisplay();
           int height = display.getHeight();  // deprecated, my app is for API 2.1+
           rlOverlay.layout(0, (int)(height*0.8), rlOverlay.getMeasuredWidth(), rlOverlay.getMeasuredHeight());
      }
    });

不幸的是,上面的代码不会影响布局的位置。我也不能使用marginTop,因为它会挤压布局。

那么..如何定位我的布局,以便最初只有 20% 可见?

谢谢。

4

1 回答 1

0

我有同样的要求。我所做的是放了两个相对布局。在第一个布局中采用按钮,在其下方是第二个布局,其余视图和 Visiblity = 消失了。

来自代码:当我点击按钮时,我制作了第二个布局可见性 = 可见并为其设置动画。

这是代码:

    <RelativeLayout
    android:id="@+id/llShopping"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bar_green" >

    <Button
        android:id="@+id/btnShoppingListAddItem"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/bar_green"
        android:gravity="center"
        android:paddingLeft="5dp"
        android:text="Add Item"
        android:textColor="@android:color/white"
        android:textSize="20sp"
        android:textStyle="bold" />

    <RelativeLayout
        android:id="@+id/relAddItemChild"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/btnShoppingListAddItem"
        android:layout_marginBottom="10dp"
        android:visibility="gone" >

        <View
            android:id="@+id/gl"
            android:layout_width="200dp"
            android:layout_height="1dp"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="1dp"
            android:background="@android:color/white" />

        <EditText
            android:id="@+id/edtItemName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/gl"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="5dp"
            android:hint="Item Name..." />

        <Button
            android:id="@+id/btnSpinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/edtItemName"
            android:layout_centerHorizontal="true"
            android:text="Please pick store" />

        <Button
            android:id="@+id/btnAddToList"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/btnSpinner"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="20dp"
            android:layout_marginTop="15dp"
            android:background="@drawable/btn_blue"
            android:padding="5dp"
            android:text="Add To List"
            android:textColor="@android:color/white"
            android:textSize="20sp" />
    </RelativeLayout>
</RelativeLayout>
于 2013-06-17T12:32:38.753 回答