我正在尝试排列列表视图中的6个字段,其中包含位于屏幕顶部的6个标签字段。我已经使所有文本大小相同,maxEms大小相同,布局重量都相同。我的问题是列表视图没有一直与屏幕左边对齐。它似乎有一些内置的默认左边距。我可以摆脱重量并在我的标签上设置手动边距以制作所有阵容,但我认为当不同尺寸的屏幕发挥作用时,这可能是一场噩梦。
这是我的屏幕的第一个布局(此布局包含表示我的listView标签的TextView。线性布局位于相对布局内)
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_below="@+id/dateDisplayTextView"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="1"
android:maxEms="2"
android:text="#1"
android:textColor="@color/green"
android:textSize="16sp" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="1"
android:maxEms="2"
android:text="#2"
android:textColor="@color/green"
android:textSize="16sp" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="1"
android:maxEms="2"
android:text="#3"
android:textColor="@color/green"
android:textSize="16sp" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="1"
android:maxEms="2"
android:text="#4"
android:textColor="@color/green"
android:textSize="16sp" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="1"
android:maxEms="2"
android:text="#5"
android:textColor="@color/green"
android:textSize="16sp" />
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="1"
android:maxEms="2"
android:text="PB"
android:textColor="@color/red"
android:textSize="16sp" />
</LinearLayout>
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_above="@+id/emailButton1"
android:layout_below="@id/linearLayout1" >
</ListView>
<Button
android:id="@+id/emailButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="Back" />
<Button
android:id="@+id/emailButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:onClick="emailTickets"
android:layout_alignParentRight="true"
android:text="Email tickets to contacts" />
这是在我的自定义适配器
中扩展的布局<?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="wrap_content"
android:layout_alignParentLeft="true"
android:orientation="horizontal" >
<TextView
android:id="@+id/number1TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxEms="2"
android:layout_weight="1"
android:textSize="16sp"
android:text="TextView" />
<TextView
android:id="@+id/number2TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxEms="2"
android:layout_weight="1"
android:textSize="16sp"
android:text="TextView" />
<TextView
android:id="@+id/number3TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxEms="2"
android:layout_weight="1"
android:textSize="16sp"
android:text="TextView" />
<TextView
android:id="@+id/number4TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxEms="2"
android:layout_weight="1"
android:textSize="16sp"
android:text="TextView" />
<TextView
android:id="@+id/number5TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxEms="2"
android:layout_weight="1"
android:textSize="16sp"
android:text="TextView" />
<TextView
android:id="@+id/numberPBTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxEms="2"
android:layout_weight="1"
android:textSize="16sp"
android:text="TextView" />
</LinearLayout>
这是我的布局图像,展示了我的问题
我试图调整我的标签恶魔所在的线性布局的左边距,但它没有任何影响。我为这篇长篇文章道歉,我只是想确保我提供了所有相关信息。提前致谢
答案 0 :(得分:2)
组合:
android:layout_width="wrap_content"
android:layout_weight="1"
表示文本字段至少具有内容和的大小,无论剩下多少空间,均匀分布在字段之间。具有不同的内容,将导致文本字段的宽度不同。 android:maxEms
不会改变,因为它定义了最大宽度,字段的宽度可以更小。
两种可能导致正确尺寸的定义。为标题和行中的每个文本获取该代码:
<强> 1。让Android找出合适的宽度:
<TextView
android:id="@+id/..."
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="16sp"
android:text="TextView" />
将宽度设置为0意味着所有空间都是分布式的(并由layout_weight
加权)。
<强> 2。通过ems
<TextView
android:id="@+id/..."
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="2"
android:textSize="16sp"
android:text="TextView" />
ems
定义宽度。同样,剩下的空间将被分发。
答案 1 :(得分:0)
你可以使用
机器人:layout_padding
这对你有用。
答案 2 :(得分:0)
尝试将自定义适配器重力的textViews留给
android:gravity="left"