textview和scrollview对齐未正确调整

时间:2014-01-31 10:28:19

标签: android android-layout webview alignment scrollview

我正在实现一个布局,其中在scrollview中有一个textview和一个webview。问题是我希望与webview和textview保持一致。我的代码是

<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:orientation="vertical"
android:background="#ffffff" >
 <RelativeLayout
        android:id = "@+id/relativeLayout0"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true">

    <ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/logo"
    android:layout_gravity="center_vertical"
    android:gravity="center"
    android:layout_centerInParent="true"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"/>

    </RelativeLayout>

    <RelativeLayout
        android:id = "@+id/rela1"
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content">

        <TextView android:id="@+id/lblTitle"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:paddingTop="10dp"
     android:textSize="18dip"
     android:layout_margin="6dip"
     android:textColor="#000000"
     android:layout_gravity="left"
     android:paddingLeft="7dp"         />
    </RelativeLayout>
    <ScrollView
         android:id = "@+id/scrollview1"
         android:layout_width="match_parent"
         android:layout_height="0dp"
         android:layout_weight="1" >

        <WebView android:id="@+id/lblMessage"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

    </ScrollView>
</LinearLayout>

我写了这行android:paddingLeft="7dp"来调整对齐方式,但我不想这样做。请帮帮我

感谢Adv。

4 个答案:

答案 0 :(得分:0)

滚动视图仅包含一个父视图 因此,您必须在滚动视图中选择一个布局,并在滚动视图中放置您想要的内容。

这里是经过编辑的代码:enter code here

<RelativeLayout
    android:id="@+id/relativeLayout0"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerInParent="true"
        android:layout_centerVertical="true"
        android:layout_gravity="center_vertical"
        android:gravity="center"
        android:src="@drawable/ic_launcher" />
</RelativeLayout>

<ScrollView
    android:id="@+id/scrollview1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <RelativeLayout
            android:id="@+id/rela1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/lblTitle"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="left"
                android:layout_margin="6dip"
                android:paddingLeft="7dp"
                android:paddingTop="10dp"
                android:textColor="#000000"
                android:textSize="18dip" />
        </RelativeLayout>

        <WebView
            android:id="@+id/lblMessage"
            android:layout_width="fill_parent"
            android:layout_height="match_parent" />
    </LinearLayout>
</ScrollView>

答案 1 :(得分:0)

似乎你有三个小问题 1)android:layout_alignParentTop="true"不会影响任何内容,因为父级是LinearLayout 2)android:textSize="18dip"文字大小,您应始终在sp中提供 3)android:layout_margin="6dip"因此,它具有来自所有方面的余量。

将您的代码更改为

<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:orientation="vertical"
android:background="#ffffff" >
 <RelativeLayout
        android:id = "@+id/relativeLayout0"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

    <ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/logo"
    android:layout_gravity="center_vertical"
    android:gravity="center"
    android:layout_centerInParent="true"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true" />
    </RelativeLayout>

    <RelativeLayout
        android:id = "@+id/rela1"
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content" >
        <TextView android:id="@+id/lblTitle"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:paddingTop="10dp"
     android:textSize="18sp"
     android:text="@string/test"
     android:textColor="#000000"
     android:layout_gravity="left" />
    </RelativeLayout>
    <ScrollView
         android:id = "@+id/scrollview1"
         android:layout_width="match_parent"
         android:layout_height="0dp"
         android:layout_weight="1" >

        <WebView android:id="@+id/lblMessage"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content" />
    </ScrollView>
</LinearLayout>

答案 2 :(得分:0)

RelativeLayout的属性允许您align two children

你需要做这样的事情:

<ScrollView
         android:id = "@+id/scrollview1"
         android:layout_width="match_parent"
         android:layout_height="0dp"
         android:layout_weight="1"
        >

        <RelativeLayout
            android:id = "@+id/rela1"
            android:layout_width = "match_parent"
            android:layout_height = "wrap_content"
            >



            <TextView android:id="@+id/lblTitle"
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
                 android:paddingTop="10dp"
                 android:textSize="18dip"
                 android:layout_margin="6dip"
                 android:textColor="#000000"
                 android:layout_gravity="left"
                 android:paddingLeft="7dp"


                 />

            <WebView android:id="@+id/webview"
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
                 layout_below="@id/lblTitle"
                 layout_alignLeft="@id/lblTitle"

                />

        </RelativeLayou>
    </ScrollView>

答案 3 :(得分:0)

试试这个..  

<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/logo"
android:layout_gravity="center_vertical"
android:gravity="center"
android:layout_centerInParent="true"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"/>
</RelativeLayout>

<RelativeLayout
    android:id = "@+id/rela1"
    android:layout_width = "match_parent"
    android:layout_height = "wrap_content"
    >
    <TextView android:id="@+id/lblTitle"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:paddingTop="10dp"
 android:textSize="18dip"
 android:textColor="#000000"
 android:layout_gravity="left"
 />
</RelativeLayout>
<ScrollView
     android:id = "@+id/scrollview1"
         android:layout_width="match_parent"
 android:layout_height="0dp"
 android:layout_weight="1"
    >
    <WebView android:id="@+id/lblMessage"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"

/>
</ScrollView>