Android UI等于Textviews之间的空格

时间:2015-12-10 13:03:53

标签: android xml

我有3个文本视图:textItemRef,textViewName和textViewPrice,我希望这3个文本视图之间有相等的空格,但它们相互重叠。虽然设定了重量,但它并没有帮助。问题出在哪儿?这是我的Ui

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >

<RelativeLayout
    android:id="@+id/linearFirst"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
     android:padding="10dp" >

    <LinearLayout
         android:id="@+id/textItemRef1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginStart="10dp"
      >

        <TextView
            android:id="@+id/textItemRef"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="TextView1"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/black" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/textViewName1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/textItemRef1">

        <TextView
            android:id="@+id/textViewName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="TextView2"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/black" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/textViewName1" >

        <TextView
            android:id="@+id/textViewPrice"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="TextView3"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/black" />
    </LinearLayout>
</RelativeLayout>

<LinearLayout
    android:id="@+id/linear_scroll"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:orientation="vertical" />

<View
    android:layout_width="match_parent"
    android:layout_height="1dp" />

</LinearLayout>

3 个答案:

答案 0 :(得分:1)

试试这个..

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<LinearLayout
    android:id="@+id/linearFirst"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="10dp">

    <LinearLayout
        android:id="@+id/textItemRef1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginStart="10dp"
        android:layout_weight="1">

        <TextView
            android:id="@+id/textItemRef"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="TextView1"
            android:textAppearance="?android:attr/textAppearanceSmall" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/textViewName1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1">

        <TextView
            android:id="@+id/textViewName"
            android:gravity="center"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="TextView2"
            android:textAppearance="?android:attr/textAppearanceSmall" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1">

        <TextView
            android:id="@+id/textViewPrice"
            android:gravity="center"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="TextView3"
            android:textAppearance="?android:attr/textAppearanceSmall" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:id="@+id/linear_scroll"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:orientation="vertical" />

<View
    android:layout_width="match_parent"
    android:layout_height="1dp" />

答案 1 :(得分:1)

您不需要像这样的嵌套布局,而只需要有一个这样的布局

&#13;
&#13;
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView  android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center"
    android:text="Hello"/>
<TextView  android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center"
    android:text="From"/>
<TextView  android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center"
    android:text="Jay"/>
</LinearLayout>
&#13;
&#13;
&#13;

希望这有效:)

答案 2 :(得分:0)

1)更改:android:layout_height="wrap_content"

android:layout_height="match_parent"

2)在任意位置设置layout_gravity。

3)你的内部LinearLayout有layout_weight =&#34; 1&#34;和layout_height =&#34; 0dp&#34;

4)您的TextView的layout_weight = 0&#34;

希望它有所帮助。