Android布局忽略重力属性

标签 android android-layout android-xml

我有几个列表项。一个有效,另一个无效,而且它们看起来完全相同。这真的应该是一个在 XML 文件中“找出不同”的游戏,但我不能,就我的生活而言,找出问题所在。如 xml 中所示,其中一个列表项是完美的,而另一个拒绝证明布局右侧的某些 View 是合理的。这是包含代码的它们各自的样子。

^ list_view_item_2.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:padding="5dp">
    <TextView
        android:id="@+id/item_text_product"
        android:textSize="20sp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:layout_width="0dp"/>
    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <TableRow>
            <TextView
                android:id="@+id/item_text_total"
                android:gravity="right"
                android:textStyle="bold"
                android:layout_span="2"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"/>
        </TableRow>
        <TableRow>
            <TextView
                android:id="@+id/item_text_units"
                android:gravity="right"
                android:textStyle="bold"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"/>
            <TextView
                android:id="@+id/item_text_uom"
                android:gravity="right"
                android:textStyle="bold"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"/>
        </TableRow>
        <TableRow>
            <TextView
                android:id="@+id/text_acog"
                android:text="COG:"
                android:gravity="right"
                android:textStyle="bold"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"/>
            <TextView
                android:id="@+id/item_text_acog"
                android:paddingLeft="1sp"
                android:gravity="right"
                android:textStyle="bold"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"/>
        </TableRow>
    </TableLayout>
</LinearLayout>

下一个布局是可行的。

^ inventory_child_item.xml: 大部分代码看起来都一样......

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:padding="5dp">
    <TextView
        android:id="@+id/ici_site"
        android:textSize="20sp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:layout_width="0dp"/>
    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <TableRow>
            <TextView
                android:id="@+id/ici_units"
                android:gravity="right"
                android:textStyle="bold"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"/>
            <TextView
                android:id="@+id/ici_uom"
                android:paddingLeft="1sp"
                android:gravity="right"
                android:textStyle="bold"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"/>
        </TableRow>
        <TableRow>
            <TextView
                android:id="@+id/ici_total"
                android:gravity="right"
                android:textStyle="bold"
                android:layout_span="2"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"/>
        </TableRow>
        <TableRow>
            <TextView
                android:id="@+id/ici_price"
                android:gravity="right"
                android:textStyle="bold"
                android:layout_span="2"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"/>
        </TableRow>
    </TableLayout>
</LinearLayout>

最佳答案

你需要设置match_parentListView

喜欢:

android:layout_width="match_parent"

关于Android布局忽略重力属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10955743/

相关文章:

android - 抽屉导航标题是否超过了内容?

java - Gson序列化名: "Implicit super constructor Object() is undefined for default constructor. Must define an explicit constructor"

android - 如何处理 FirebaseAuthUserCollisionException

android - 检查拼写检查器是否已打开?

android - 可扩展列表未在 ScrollView 内扩展

Android - 没有滚动条的滚动

java - 将动态 NdefRecords 发送到构造函数

布局复杂的Android ui

android 将 arraylist String[] imageUrl 发送到另一个 Activity 并显示来自接收 url 的图像

android - 如何使这段动画代码更有效?