0

此布局用作 listView 中项目的布局。我的布局非常简单,一切正常,但现在我对其进行了一些更改,当它尝试加载时它正在崩溃我的应用程序。不知道我做错了什么

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:weightSum="8"
    android:layout_width="fill_parent"
    android:layout_height="75dp">

   <TextView android:id="@+id/priceText"
        android:layout_weight="2"
        android:layout_height="fill_parent"
        android:gravity="center_vertical"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true"
        android:textStyle="bold"
        android:textSize="22dp"
        android:textColor="#000000"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp" 
        android:layout_marginLeft="5dp" />

   <LinearLayout
        android:layout_weight="5"
        android:layout_height="fill_parent"
        android:weightSum="2" 
        android:orientation="vertical">

       <TextView android:id="@+id/storeText"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:gravity="right|bottom"
            android:textStyle="bold"
            android:textSize="22dp"
            android:textColor="#000000"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp" />

       <TextView android:id="@+id/distanceText"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:gravity="right|top"
            android:textSize="16dp"
            android:textColor="#545454"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp" />

   </LinearLayout>

   <TextView
       android:layout_height="fill_parent"
       android:layout_alignParentBottom="true"
       android:layout_alignParentTop="true"
       android:layout_marginBottom="5dp"
       android:layout_marginTop="5dp"
       android:layout_weight="1"
       android:gravity="right|center_vertical"
       android:text=">"
       android:textColor="#000000"
       android:textSize="36dp"
       android:textStyle="bold" 
       android:layout_marginRight="5dp" />

</LinearLayout>
4

5 回答 5

2

当你使用 android:layout_weight 放 layout_width="0dip"

工作代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:weightSum="8"
    android:layout_width="fill_parent"
    android:layout_height="75dp">

   <TextView android:id="@+id/priceText"
        android:layout_weight="2"
        android:layout_width="0dip"
        android:layout_height="fill_parent"
        android:gravity="center_vertical"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true"
        android:textStyle="bold"
        android:textSize="22dp"
        android:textColor="#000000"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp" 
        android:layout_marginLeft="5dp" />

   <LinearLayout
        android:layout_weight="5"
        android:layout_width="0dip"
        android:layout_height="fill_parent"
        android:weightSum="2" 
        android:orientation="vertical">

       <TextView
           android:id="@+id/storeText"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:layout_marginBottom="5dp"
           android:layout_marginTop="5dp"
           android:layout_weight="1"
           android:gravity="right|bottom"
           android:textColor="#000000"
           android:textSize="22dp"
           android:textStyle="bold" />

       <TextView
           android:id="@+id/distanceText"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:layout_marginBottom="5dp"
           android:layout_marginTop="5dp"
           android:layout_weight="1"
           android:gravity="right|top"
           android:textColor="#545454"
           android:textSize="16dp" />

   </LinearLayout>

   <TextView
       android:layout_height="fill_parent"
       android:layout_width="wrap_content"
       android:layout_alignParentBottom="true"
       android:layout_alignParentTop="true"
       android:layout_marginBottom="5dp"
       android:layout_marginTop="5dp"
       android:layout_weight="1"
       android:gravity="right|center_vertical"
       android:text=">"
       android:textColor="#000000"
       android:textSize="36dp"
       android:textStyle="bold" 
       android:layout_marginRight="5dp" />

</LinearLayout>
于 2012-12-20T08:49:52.557 回答
1

您需要在所有视图中添加android:layout_width=".."和:android:layout_height=".."

   <TextView android:id="@+id/storeText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="right|bottom"
        android:textStyle="bold"
        android:textSize="22dp"
        android:textColor="#000000"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp" />

   <TextView android:id="@+id/distanceText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="right|top"
        android:textSize="16dp"
        android:textColor="#545454"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp" />

   </LinearLayout>

  <TextView
   android:layout_height="fill_parent"
   android:layout_width="0dp"
   android:layout_alignParentBottom="true"
   android:layout_alignParentTop="true"
   android:layout_marginBottom="5dp"
   android:layout_marginTop="5dp"
   android:layout_weight="1"
   android:gravity="right|center_vertical"
   android:text=">"
   android:textColor="#000000"
   android:textSize="36dp"
   android:textStyle="bold" 
   android:layout_marginRight="5dp" />

</LinearLayout>
于 2012-12-20T08:44:47.063 回答
0

您给 android_layout_weight 的每个元素都没有给出宽度。如果你给了这个权重,所以元素占据了一定的空间,你应该给布局 android:layout_width="0" 所以它将权重作为宽度

每个元素都需要高度和宽度标签

于 2012-12-20T08:46:14.620 回答
0

你错过了一些布局宽度和布局高度属性。我已经添加了所有项目。

请使用以下代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:weightSum="8"
    android:layout_width="fill_parent"
    android:layout_height="75dp">

   <TextView android:id="@+id/priceText"
        android:layout_weight="2"
        android:layout_height="fill_parent"
        android:gravity="center_vertical"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true"
        android:textStyle="bold"
        android:textSize="22dp"
        android:layout_width="wrap_content"

        android:textColor="#000000"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp" 
        android:layout_marginLeft="5dp" />

   <LinearLayout
        android:layout_weight="5"
        android:layout_height="fill_parent"
        android:weightSum="2" 
        android:layout_width="wrap_content"
        android:orientation="vertical">

       <TextView android:id="@+id/storeText"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="right|bottom"
            android:textStyle="bold"
            android:textSize="22dp"

            android:textColor="#000000"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp" />

       <TextView android:id="@+id/distanceText"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="right|top"
            android:textSize="16dp"
            android:textColor="#545454"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp" />

   </LinearLayout>

   <TextView
       android:layout_height="fill_parent"
       android:layout_alignParentBottom="true"
       android:layout_alignParentTop="true"
       android:layout_marginBottom="5dp"
       android:layout_marginTop="5dp"
       android:layout_weight="1"
       android:gravity="right|center_vertical"
       android:text=">"
        android:layout_width="fill_parent"

       android:textColor="#000000"
       android:textSize="36dp"
       android:textStyle="bold" 
       android:layout_marginRight="5dp" />

</LinearLayout> 
于 2012-12-20T08:49:05.020 回答
0

我不知道你想通过这个布局在这里实现什么,但你的 xml 中几乎没有错误。

  1. 在不同的地方缺少宽度和高度。考虑添加这些。

  2. 您正在添加 LinearLayout 作为父标签,但使用 RelativeLayout 标签,如

    android:layout_alignParentBottom="true" android:layout_alignParentTop="true"

    考虑删除那些。

  3. 正确使用android:layout_weight=""android:layout_height="" , android:layout_width=""

如果需要任何澄清或帮助,请发表评论

于 2012-12-20T09:03:32.057 回答