我搜索过并发现很多人都报告了这个问题。 这些是我经历过的一些链接:
Android, ListView layout_weight not working, height set to 0dp
以及其他一些
这些链接提出了以下解决方案
我无法在Android文档中找到任何针对此特定问题的内容。
我的列表视图:
android:id="@+id/lst_stocks"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/row_heading"
android:layout_marginTop="@dimen/margin_5"
我的其他xml文件:
<?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:background="@drawable/border"
android:orientation="horizontal"
android:weightSum="3">
<TextView
android:id="@+id/txt_rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="@dimen/margin_10"
android:text="Rating"
android:textAlignment="center"
android:textColor="@color/colorPrimaryDark" />
<TextView
android:id="@+id/txt_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:maxEms="10"
android:padding="@dimen/margin_10"
android:singleLine="true"
android:text="Companay"
android:textAlignment="center"
android:textColor="@color/colorPrimaryDark"
/>
<TextView
android:id="@+id/txt_sector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:maxEms="10"
android:padding="@dimen/margin_10"
android:singleLine="true"
android:text="Sector"
android:textAlignment="center"
android:textColor="@color/colorPrimaryDark" />
</LinearLayout>
我也在其他地方使用这个xml文件,它可以很好地工作。
P.S。我已经在两个独立的手机上运行文件,而不是在模拟器上运行。
答案 0 :(得分:0)
如果您想使用重量来设置TextView
的高度,那么您应该这样做:
<TextView
android:id="@+id/txt_sector"
android:layout_width="wrap_content"
android:layout_height="0dp" // Change is done here
android:layout_weight="1"
android:ellipsize="end"
android:maxEms="10"
android:padding="@dimen/margin_10"
android:singleLine="true"
android:text="Sector"
android:textAlignment="center"
android:textColor="@color/colorPrimaryDark" />`
同样,如果您要设置宽度,可以使用width="0dp"
和wieght="1"
。
答案 1 :(得分:0)
将TextView layout_width设为0dp。
<?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:background="@drawable/border"
android:orientation="horizontal"
android:weightSum="3">
<TextView
android:id="@+id/txt_rating"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="@dimen/margin_10"
android:text="Rating"
android:textAlignment="center"
android:textColor="@color/colorPrimaryDark" />
<TextView
android:id="@+id/txt_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:maxEms="10"
android:padding="@dimen/margin_10"
android:singleLine="true"
android:text="Companay"
android:textAlignment="center"
android:textColor="@color/colorPrimaryDark"
/>
<TextView
android:id="@+id/txt_sector"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:maxEms="10"
android:padding="@dimen/margin_10"
android:singleLine="true"
android:text="Sector"
android:textAlignment="center"
android:textColor="@color/colorPrimaryDark" />
</LinearLayout>