使SlidingLayer占据全屏

时间:2015-08-04 22:15:14

标签: android sliding android-sliding

在我的活动中实现SlidingLayer guthub库,其中我能够打开和关闭图层,但它只消耗活动区域,直到它在整个布局容器中的上一个兄弟。

意思是,如果我的整体布局是这样的 -

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/activity_background">
        <Button
            android:id="@+id/npTitle"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_gravity="top|center"
            android:background="@drawable/title" />

        <View
            android:layout_width="1dp"
            android:layout_height="50dp" />

        <ViewSwitcher
            android:id="@+id/viewSwitch"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:addStatesFromChildren="true"
            android:gravity="top" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="top"
                android:orientation="vertical" >

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:orientation="horizontal" >

                    <Button
                        android:id="@+id/GetL"
                        android:layout_width="165dp"
                        android:layout_height="70dp"
                        android:background="@drawable/circle_orange"
                        android:text="@string/getL"
                        android:textColor="@color/buttonTextColor"
                        android:textStyle="italic|bold" />
                </LinearLayout>

                <View
                    android:layout_width="1dp"
                    android:layout_height="20dp" />

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal" >

                    <Button
                        android:id="@+id/LF"
                        android:layout_width="150dp"
                        android:layout_height="70dp"
                        android:background="@drawable/circle_orange"
                        android:text="@string/lf"
                        android:textColor="@color/buttonTextColor"
                        android:textStyle="italic|bold" />

                    <View
                        android:layout_width="0dip"
                        android:layout_height="1dp"
                        android:layout_weight="1" >
                    </View>

                    <Button
                        android:id="@+id/att"
                        android:layout_width="150dp"
                        android:layout_height="70dp"
                        android:background="@drawable/circle_orange"
                        android:text="@string/att"
                        android:textColor="@color/buttonTextColor"
                        android:textStyle="italic|bold" />
                </LinearLayout>

                <View
                    android:layout_width="1dp"
                    android:layout_height="20dp" />

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:orientation="horizontal" >

                    <Button
                        android:id="@+id/ld"
                        android:layout_width="165dp"
                        android:layout_height="70dp"
                        android:background="@drawable/circle_orange"
                        android:text="@string/ld"
                        android:textColor="@color/buttonTextColor"
                        android:textStyle="italic|bold" />
                </LinearLayout>

                <View
                    android:layout_width="1dp"
                    android:layout_height="30dp" />

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center|bottom"
                    android:orientation="horizontal" >

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:text="@string/swipeForNextPage"
                        android:textColor="@color/Yellow"
                        android:textSize="24sp" />

                    <ImageView
                        android:layout_width="100dp"
                        android:layout_height="100dp"
                        android:layout_gravity="right"
                        android:contentDescription="@string/rightHandPointer"
                        android:src="@drawable/hand_pointer_right" />
                </LinearLayout>
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="top"
                android:orientation="vertical" >

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:orientation="horizontal" >

                    <Button
                        android:id="@+id/ky"
                        android:layout_width="165dp"
                        android:layout_height="70dp"
                        android:background="@drawable/circle_orange"
                        android:text="@string/ky"
                        android:textColor="@color/buttonTextColor"
                        android:textStyle="italic|bold" />
                </LinearLayout>

                <View
                    android:layout_width="1dp"
                    android:layout_height="20dp" />

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal" >

                    <Button
                        android:id="@+id/rep"
                        android:layout_width="150dp"
                        android:layout_height="70dp"
                        android:background="@drawable/circle_orange"
                        android:text="@string/rep"
                        android:textColor="@color/buttonTextColor"
                        android:textStyle="italic|bold" />

                    <View
                        android:layout_width="0dip"
                        android:layout_height="1dp"
                        android:layout_weight="1" >
                    </View>

                    <Button
                        android:id="@+id/har"
                        android:layout_width="150dp"
                        android:layout_height="70dp"
                        android:background="@drawable/circle_orange"
                        android:text="@string/har"
                        android:textColor="@color/buttonTextColor"
                        android:textStyle="italic|bold" />
                </LinearLayout>

                <View
                    android:layout_width="1dp"
                    android:layout_height="20dp" />

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:orientation="horizontal" >

                    <Button
                        android:id="@+id/co"
                        android:layout_width="165dp"
                        android:layout_height="70dp"
                        android:background="@drawable/circle_orange"
                        android:text="@string/co"
                        android:textColor="@color/buttonTextColor"
                        android:textStyle="italic|bold" />
                </LinearLayout>

                <View
                    android:layout_width="1dp"
                    android:layout_height="30dp" />

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center|bottom"
                    android:orientation="horizontal" >

                    <ImageView
                        android:layout_width="100dp"
                        android:layout_height="100dp"
                        android:layout_gravity="left"
                        android:contentDescription="@string/leftHandPointer"
                        android:src="@drawable/hand_pointer_left" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:text="@string/swipeForPrevPage"
                        android:textColor="@color/Yellow"
                        android:textSize="24sp" />
                </LinearLayout>
            </LinearLayout>
        </ViewSwitcher>

        <LinearLayout
            android:id="@+id/hideableLinear"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/help"
                style="@style/StylishButton"
                android:layout_width="150dp"
                android:layout_height="50dp"
                android:layout_gravity="bottom|left"
                android:background="@drawable/final_red_help_aqua_button" />

            <LinearLayout
                android:id="@+id/moreoptionsclickarea"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="horizontal" >

                <Button
                    android:id="@+id/moreleftarrow"
                    style="@style/StylishButton"
                    android:layout_width="40dp"
                    android:layout_height="55dp"
                    android:layout_gravity="bottom|left"
                    android:background="@drawable/double_arrow_red_up"
                    android:onClick="buttonClicked" />


            <TextView
                android:id="@+id/moreoptions"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom|center"
                android:text="@string/moreoptions"
                android:textAlignment="center"
                android:textColor="@color/Yellow"
                android:textSize="17sp" />

            <Button
                android:id="@+id/morerightarrow"
                style="@style/StylishButton"
                android:layout_width="40dp"
                android:layout_height="55dp"
                android:layout_gravity="bottom|right"
                android:background="@drawable/double_arrow_red_up" />
                -->
            </LinearLayout>
        </LinearLayout>

        <com....SlidingLayer
            android:id="@+id/slidingLayer1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/activity_background" >

            <Button
                android:id="@+id/buttonClose"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="60dp"
                android:onClick="buttonClicked"
                android:text="test button" />
        </com....SlidingLayer>
</FrameLayout>

现在,slidelayerview会在活动加载时消耗从活动底部到右上方的所有空间。其他一切都不见了。

我希望新滑动图层仅在单击按钮时才会使用整个活动屏幕。

有办法吗?

1 个答案:

答案 0 :(得分:1)

LinearLayout换成FrameLayout并将SlidingLayerView移到外面:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </LinearLayout>
    <SlidingLayerView />
</FrameLayout>