【问题标题】:android:layout_weight property changes according to the text lengthandroid:layout_weight 属性根据文本长度变化
【发布时间】:2014-01-20 12:59:32
【问题描述】:

我正在开发 Android 项目,我必须在其中显示一个动态列表。每个列表项包含 3 个文本视图。

我的问题是,列表没有以正确的格式显示。 weight 属性是动态变化的。

请看屏幕截图。

Change% 值(0.14、0.01、-1.2)不是垂直直线,而是锯齿形。

我希望所有的公司值、Change% 值和 LTP 值应该是垂直相同的顺序。

我的代码:为适配器提供的布局

<?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="match_parent"
    android:orientation="vertical" >

    <LinearLayout 
        android:id="@+id/custLayout"
        android:layout_height="50dp"
        android:layout_width="fill_parent">
         <TextView
            android:id="@+id/symbol_list"
            android:layout_width="70dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:text="Symbol"
            android:layout_weight="1"
            android:textColor="#FFFFFF"
            android:textSize="13dp" />

         <TextView
             android:id="@+id/persent"
             android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:gravity="center"
            android:text="Chang"
            android:layout_weight="0.5"
            android:textColor="#FFFFFF"
            android:textSize="13dp" />

         <TextView 
             android:id="@+id/ltp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_gravity="center_vertical"
            android:gravity="center|right"
            android:layout_marginRight="15dp"
            android:text="ltp"
            android:layout_weight="0.5"
            android:textColor="#FFFFFF"
            android:textSize="13dp" />


    </LinearLayout>

</LinearLayout>

请帮忙。

【问题讨论】:

    标签: android android-layout listview android-listview


    【解决方案1】:

    wrap_content 宽度替换为0px

    布局权重按权重比例分配任何剩余空间。 wrap_content 大小首先发生,然后才分配剩余空间。

    【讨论】:

      【解决方案2】:

      改变它:

      <?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="match_parent"
       android:orientation="vertical" >
      
       <LinearLayout 
          android:id="@+id/custLayout"
          android:layout_height="50dp"
          android:layout_width="fill_parent">
           <TextView
              android:id="@+id/symbol_list"
              android:layout_width="0dp"
              android:layout_height="wrap_content"
              android:layout_gravity="center_vertical"
              android:text="Symbol"
              android:layout_weight="1"
              android:textColor="#FFFFFF"
              android:textSize="13dp" />
      
           <TextView
               android:id="@+id/persent"
               android:layout_width="0dp"
              android:layout_height="wrap_content"
              android:layout_gravity="center_vertical"
              android:gravity="center"
              android:text="Chang"
              android:layout_weight="0.5"
              android:textColor="#FFFFFF"
              android:textSize="13dp" />
      
           <TextView 
               android:id="@+id/ltp"
              android:layout_width="0dp"
              android:layout_height="wrap_content"
              android:layout_centerVertical="true"
              android:layout_gravity="center_vertical"
              android:gravity="center|right"
              android:layout_marginRight="15dp"
              android:text="ltp"
              android:layout_weight="0.5"
              android:textColor="#FFFFFF"
              android:textSize="13dp" />
      
      
       </LinearLayout>
      
      </LinearLayout>
      

      必须记住,无论何时使用权重都必须使用 0px。如果使用垂直布局,则必须使用 0px 作为高度,如果使用水平线性布局,则必须使用 0px 作为宽度。

      【讨论】:

        猜你喜欢
        • 2011-06-09
        • 1970-01-01
        • 2014-06-02
        • 2018-08-01
        • 2018-09-18
        • 2020-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多