如何在右侧显示 SlidingPaneLayout?
How to show SlidingPaneLayout at right side?
嗨,我是 android 的初学者,在我的应用程序中,我必须在右侧显示 SlidingPaneLayout,但使用下面的代码,它来自左侧。
请帮帮我。
如何让它在右侧?
其次,我的要求是我的 SlidingPaneLayout 必须重叠在操作栏上,但使用下面的 xml 代码 SlidingPaneLayout 显示如下图
请告诉我如何解决这两个问题
toolbar_layout:-
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorPrimary"
android:elevation="4dp"
>
</android.support.v7.widget.Toolbar>
activity_sliding:-
<android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/SlidingPanel"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="right">
<ListView
android:id="@+id/MenuList"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ListView>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="right"
android:background="#101010"
android:orientation="vertical" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/android_robot" />
</LinearLayout>
</android.support.v4.widget.SlidingPaneLayout>
main_layout:-
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
android:id="@+id/tool_bar"
layout="@layout/toolbar_layout">
</include>
<include
android:id="@+id/SlidingPanel"
layout="@layout/activity_sliding">
</include>
</LinearLayout>
在您的清单中,将以下属性添加到起始 <application>
标记。
android:supportsRtl="true"
然后将此属性添加到布局中的起始 SlidingPaneLayout
标记。
android:layoutDirection="rtl"
最后,将tool_bar
<include>
元素移动到SlidingPaneLayout
内的主要内容LinearLayout
,并调整ImageView
的高度和体重
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#101010"
android:orientation="vertical">
<include
android:id="@+id/tool_bar"
layout="@layout/toolbar_layout">
</include>
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/android_robot" />
</LinearLayout>
请注意 SlidingPaneLayout
的 child View
将继承 rtl
layoutDirection
。如果它们的布局行为受方向影响,这可能会导致 child View
s 出现问题。例如,一个 horizontally-oriented LinearLayout
将从右边开始布置它的 children。这很容易通过在受影响的 View
上设置 android:layoutDirection="ltr"
来解决。
另请注意,此示例对布局中的方向进行了硬编码。如果您需要同时支持 LTR 和 RTL 布局 application-wide,您需要以编程方式执行此操作,并考虑到设备的默认方向。
嗨,我是 android 的初学者,在我的应用程序中,我必须在右侧显示 SlidingPaneLayout,但使用下面的代码,它来自左侧。
请帮帮我。
如何让它在右侧?
其次,我的要求是我的 SlidingPaneLayout 必须重叠在操作栏上,但使用下面的 xml 代码 SlidingPaneLayout 显示如下图
请告诉我如何解决这两个问题
toolbar_layout:-
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorPrimary"
android:elevation="4dp"
>
</android.support.v7.widget.Toolbar>
activity_sliding:-
<android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/SlidingPanel"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="right">
<ListView
android:id="@+id/MenuList"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ListView>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="right"
android:background="#101010"
android:orientation="vertical" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/android_robot" />
</LinearLayout>
</android.support.v4.widget.SlidingPaneLayout>
main_layout:-
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
android:id="@+id/tool_bar"
layout="@layout/toolbar_layout">
</include>
<include
android:id="@+id/SlidingPanel"
layout="@layout/activity_sliding">
</include>
</LinearLayout>
在您的清单中,将以下属性添加到起始 <application>
标记。
android:supportsRtl="true"
然后将此属性添加到布局中的起始 SlidingPaneLayout
标记。
android:layoutDirection="rtl"
最后,将tool_bar
<include>
元素移动到SlidingPaneLayout
内的主要内容LinearLayout
,并调整ImageView
的高度和体重
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#101010"
android:orientation="vertical">
<include
android:id="@+id/tool_bar"
layout="@layout/toolbar_layout">
</include>
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/android_robot" />
</LinearLayout>
请注意 SlidingPaneLayout
的 child View
将继承 rtl
layoutDirection
。如果它们的布局行为受方向影响,这可能会导致 child View
s 出现问题。例如,一个 horizontally-oriented LinearLayout
将从右边开始布置它的 children。这很容易通过在受影响的 View
上设置 android:layoutDirection="ltr"
来解决。
另请注意,此示例对布局中的方向进行了硬编码。如果您需要同时支持 LTR 和 RTL 布局 application-wide,您需要以编程方式执行此操作,并考虑到设备的默认方向。