如何对所有屏幕尺寸一致地使用android:layout_weight

时间:2016-02-19 19:56:12

标签: java android android-layout listview android-fragments

我有一个使用android:layout_weight作为标题间距的应用程序,但是当我在不同的屏幕上查看应用程序时间距更改(未与下面的行数据对齐)。

我有5个标题,但标题不能正确对齐所有设备。

如何确保使用android:layout_weight来实现可在所有屏幕尺寸上使用的公共间距布局?

<LinearLayout
    android:id="@+id/listTitles"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/table_heading"
    android:paddingBottom="7dp"
    android:paddingTop="8dp" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="42dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1.1"
        android:gravity="center"
        android:text="POS"
        android:textColor="#ffffff"
        android:textSize="12sp" />


    <TextView
        android:id="@+id/textView2"
        android:layout_width="90dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1.8"
        android:gravity="left|center"
        android:text="NAME"
        android:textColor="#ffffff"
        android:textSize="12sp" />

     <TextView
        android:id="@+id/textView7"
        android:layout_width="40dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1.2"
        android:gravity="center"
        android:text="BIRTH"
        android:textColor="#ffffff"
        android:textSize="12sp" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="40dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1.2"
        android:gravity="center"
        android:text="SCORE"
        android:textColor="#ffffff"
        android:textSize="12sp" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1.4"
        android:gravity="center"
        android:text="POINTS"
        android:textColor="#ffffff"
        android:textSize="12sp" />

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1.4"
        android:gravity="right|center"
        android:paddingRight="10dp"
        android:text="ROUND"
        android:textColor="#ffffff"
        android:textSize="12sp" />
 </LinearLayout>

2 个答案:

答案 0 :(得分:0)

这里有两个问题:

  1. 使用layout_weight时,您必须将layout_width设为0dp

  2. 表格中的行或ListView必须具有相同的layout_weightlayout_width值。

答案 1 :(得分:-2)

将父LinearLayout weight_sum设置为7,因为占用的所有TextView空间都等于7

将所有TextView的layout_width更改为0dp。这是修改版本

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="input-group">
    <span class="input-group-addon" id="rotulo">Filtrar:</span>
    <input type="text" class="form-control" placeholder="" aria-describedby="rotulo" id="search">
</div>
<table class="table" id="table">
    <tr>
        <td>1st Value</td>
    </tr>
  
    <tr>
        <td>2nd Value </td>
    </tr>
  
    <tr>
        <td>3rd Value </td>
    </tr>
   </table>
<input type="text" id="tipo" value="">