Xamarin中列表视图的不同列大小

时间:2017-06-29 22:34:32

标签: android xml android-layout listview xamarin

我有一个列表视图,并在充气以下视图后显示每一行。这是一个LinearLayout,它工作正常,直到我给每个textview(我的列表中的列)相同的大小。如果我改变任何宽度我会得到意想不到的结果。例如,如果我将0.5放到第一个textView(称为“test”),我希望textView的大小要小得多,但却相反。所以我尝试使用3,但同样非常意外的行为。因此,如果我希望第一个textView比其他4个小得多,我该怎么做?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="30dp"
    android:paddingLeft="5dp"
    android:paddingTop="2dp">
 <TextView
    android:text="Test"
    android:layout_width="match_parent"
    android:layout_weight="3"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:textColor="#333333"
    android:id="@+id/testView" />
<TextView
    android:text="Name"
    android:layout_width="match_parent"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:textColor="#333333"
    android:id="@+id/nameView" />
<TextView
    android:text="Surname"
    android:layout_width="match_parent"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:textColor="#333333"
    android:id="@+id/surnameView" />
<TextView
    android:text="Age"
    android:layout_width="match_parent"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:textColor="#333333"
    android:id="@+id/ageView" />
<TextView
    android:text="Profession"
    android:layout_width="match_parent"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:textColor="#333333"
    android:id="@+id/professionView" />

1 个答案:

答案 0 :(得分:1)

  

如果我更改任何宽度,我会得到意想不到的结果。

您获得意外结果的原因是您将每个TextView layout_width属性设置为match_parentdocument说:

  

子视图可以指定权重值,然后视图组中的任何剩余空间按其声明权重的比例分配给子项。

我们可以看到布局中每个layout_widt的{​​{1}}属性应设置为TextView。这意味着wrap_content的宽度等于原始宽度(TextView)加上剩余空间的比例。就像this