我正在开发Android项目,我必须在其中显示动态列表。每个列表项包含3个文本视图。
我的问题是,列表没有以正确的格式显示。权重属性正在动态变化。
请看屏幕截图。
更改%值(0.14,0.01,-1.2)不是垂直直线,它们是锯齿形。
我希望所有公司值,更改%值和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>
请帮忙。
答案 0 :(得分:8)
将wrap_content
宽度替换为0px
。
布局权重按重量比例分配任何剩余空间。 wrap_content
大小调整首先进行,然后才分配剩余空间。
答案 1 :(得分:3)
改变它:
<?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作为其宽度。