在signle布局中显示三种布局

时间:2016-02-24 08:43:19

标签: android android-studio android-xml

我想在activity_user_profile.xml中显示三个布局,例如first_layout,second_layout和list_item。 second_layout和list_item的某些部分未显示,如图所示。

enter image description here

first_layout.xml     

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Large Text"
    android:id="@+id/textView3"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />


</LinearLayout>

Second_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:orientation="vertical"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".Main3Activity">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Subject"
    android:id="@+id/textView" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/editTextName" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Comment"
    android:id="@+id/textView2" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/editTextAddress" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Insert"
    android:onClick="insert"
    android:id="@+id/button" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/textViewResult" />
</LinearLayout>

list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp" >

<ListView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/listView" />
<TextView
    android:id="@+id/id"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="2dip"
    android:paddingTop="6dip"
    android:textStyle="bold" />


<TextView
    android:id="@+id/name"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="2dip"
    android:textStyle="bold"/>


<TextView
    android:id="@+id/address"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="left"
    android:textStyle="bold" />

</LinearLayout>

activity_user_profile.xml

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

<include layout="@layout/first_layout"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>

<include layout="@layout/second_layout"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>


<include layout="@layout/list_item"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"/>


</LinearLayout>

是否可以改进结果布局?

2 个答案:

答案 0 :(得分:0)

使用ScrollView。首先放置ScrollView并在其中添加小部件。这应该有用。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <LinearLayout

        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

         <!-- Add your widgets here -->
</LinearLayout>
</ScrollView>

答案 1 :(得分:0)

使用ScrollView,因为您创建childview(Linear or Relative layout) ScrollView只接受一个孩子。然后在子视图中添加3个布局。

     <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:fontify="http://schemas.android.com/apk/res-auto"
          xmlns:tools="http://schemas.android.com/tools"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:fillViewport="true" >

         <LinearLayout  // child view
            android:layout_width="match_parent"
            android:layout_height="match_content"
            android:background="@android:color/white"
            android:orientation="vertical” >

         <TextView   // your 1st view
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:textAppearance="?android:attr/textAppearanceLarge"
           android:text="Large Text"
           android:id="@+id/textView3"
           android:layout_alignParentTop="true"
           android:layout_alignParentLeft="true"
           android:layout_alignParentStart="true" />

        <LinearLayout  // your 2nd view
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
           >

       <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="Subject"
           android:id="@+id/textView" />

       <EditText
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:id="@+id/editTextName" />

       <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="Comment"
           android:id="@+id/textView2" />

       <EditText
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:id="@+id/editTextAddress" />

       <Button
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="Insert"
           android:onClick="insert"
           android:id="@+id/button" />

       <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/textViewResult" />
       </LinearLayout>
       <LinearLayout  // your 3rd view
            android:layout_width="wrap_content"
           android:layout_height="wrap_content"
        >
       <ListView
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:id="@+id/listView" />
       <TextView
           android:id="@+id/id"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:paddingBottom="2dip"
           android:paddingTop="6dip"
           android:textStyle="bold" />


       <TextView
           android:id="@+id/name"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:paddingBottom="2dip"
           android:textStyle="bold"/>


       <TextView
           android:id="@+id/address"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:gravity="left"
           android:textStyle="bold" />

                  </LinearLayout>
        </LinearLayout>

       </ScrollView>