改变android布局的对齐和位置

时间:2016-03-02 03:38:18

标签: android android-layout android-fragments android-xml

我的主要布局activity_user_profile包含这三个布局:First_layout,

Second_layout,

LIST_ITEM。

activity_user_profile.xml

<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" >



    <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>
</ScrollView>

list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<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" >

    <ListView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/listView" />

    <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>
    </ScrollView>

如图所示,bottom和list_item.xml之间存在空白。 如何将此布局向右移动并将其扩展到页面底部?

更新

first_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:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="UserProfile"
    android:weightSum="1">

    <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"
        android:layout_weight="7.03"
        android:textSize="15sp"/>


</LinearLayout>

second_layout.xml

<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: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="Name"
        android:id="@+id/textView"
        android:visibility="gone" />

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

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

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

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

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

4 个答案:

答案 0 :(得分:1)

已经搜索了很长时间并得出结论:

移除,

android:orientation="vertical" 
android:layout_weight="1"

检查:

  1. 滚动视图必须包含一个子项(即必须包含所有视图) 在滚动视图内的单个根布局中)

  2. 当您的网页尺寸大于默认高度时,ScrollView会正常工作 屏幕。

答案 1 :(得分:0)

试试这个 用此

替换您的activity_user_profile.xml
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_height="match_parent" >

    <LinearLayout

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



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

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

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

    </LinearLayout>
</ScrollView>

答案 2 :(得分:0)

我对你的布局进行了以下更改..... 见下面的代码

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

    <LinearLayout

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


    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1">


        <include layout="@layout/first_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>

    </LinearLayout>


    <LinearLayout

        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <include layout="@layout/second_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </LinearLayout>


    <LinearLayout

        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <include layout="@layout/list_item"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </LinearLayout>

    </LinearLayout>
</ScrollView>

答案 3 :(得分:0)

滚动视图的子项应将其高度设置为“wrap_content”以允许滚动。

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

将其更改为:

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