在我的活动中实现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会在活动加载时消耗从活动底部到右上方的所有空间。其他一切都不见了。
我希望新滑动图层仅在单击按钮时才会使用整个活动屏幕。
有办法吗?
答案 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>