如何使用DrawerLayout在手机和平​​板电脑上使用碎片/活动?

时间:2015-05-05 08:02:08

标签: android android-layout android-fragments

对于智能手机我设计了我的应用程序,我有1个Activity,其中Fragments被更改。活动的布局文件看起来像这样:

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <!-- content dynamically places here -->
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/content_frame"></FrameLayout>

    <!-- drawer navigation -->
    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="180dp"
        android:layout_height="match_parent"
        android:layout_gravity="left|start"
        android:background="#ffeeeeee"></ListView>

</android.support.v4.widget.DrawerLayout>

FrameLayout被两个不同的片段替换:列表视图和详细信息视图。这就是列表视图片段XML代码的样子:

<ListView xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:id="@android:id/list"
             ></ListView>

这是细节片段代码:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/item_detail"
          style="?android:attr/textAppearanceLarge"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:padding="16dp"
          android:textIsSelectable="true"
          android:text="Hello World"/>

所以现在我想为平板电脑设计,我基本上有2列。第一个用于导航抽屉,应始终可见。第二个用于显示内容。

其中一个内容应包括上方列表和详细信息视图。那么如何整合片段呢?我可以使用包含两者的片段吗?

这是您的信息平板电脑布局(sw600dp):

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:baselineAligned="false"
    android:divider="?android:attr/dividerHorizontal"
    android:orientation="horizontal"
    android:showDividers="middle"
    android:id="@+id/recording_view"
    tools:context=".RecordingListActivity">

    <!-- static drawer navigation -->
    <ListView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:id="@+id/left_drawer"
        android:choiceMode="singleChoice"></ListView>

    <!-- dynamic content -->
    <FrameLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="5"
        android:id="@+id/list_and_details"></FrameLayout>

</LinearLayout>

EDIT_1: What I want to archieve

在你看到的图像中,我想要实现的目标。深蓝色内容应可更换。这通常是通过我认为的片段来完成的。所以我可以创建一个包含列表和详细信息视图的片段。但有没有办法重复使用手机中的碎片?

0 个答案:

没有答案