我敢肯定这一定是个小问题,但我无法让它发挥作用。我有一个包含两列的 xml(权重:5 和 1,如您在 table.xml 中所见),效果很好。现在,我已经添加了另一个带有标题的数据,并且数据没有像以前那样被放置在具有权重的两列中,而是被放在一起,除了标题可以正常工作。
我不想设置固定宽度值,所以我想要一个权重方式的解决方案。
这是我正在使用的两个 xml:
标题.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/header"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<!-- Header -->
<LinearLayout android:background="#1d688f"
android:paddingTop="6dip"
android:paddingBottom="6dip"
android:paddingLeft="6dip"
android:layout_height="wrap_content"
android:layout_width="fill_parent">
<TextView
android:id="@+id/pid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"/>
<TextView
android:id="@+id/paiseur"
android:layout_width="0dp"
android:layout_weight="5"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="20sp"
android:text="@string/pais"/>
<TextView
android:id="@+id/cantidadeur"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:textStyle="bold"
android:gravity="center"
android:textSize="20sp"
android:text="@string/total" />
</LinearLayout>
<!-- List Divider -->
<View android:layout_width="fill_parent"
android:layout_height="5dip"
android:background="?android:attr/listDivider" />
<!-- ListView (grid_items) -->
<LinearLayout android:id="@+id/layout"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="6">
<ListView android:id="@android:id/list"
android:layout_height="fill_parent"
android:layout_width="0dp"
android:layout_weight="6">
</ListView>
</LinearLayout>
</LinearLayout>
还有一个用于列表的 table.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:paddingTop="6dip"
android:paddingBottom="6dip"
android:paddingLeft="6dip"
android:layout_weight="6"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/pid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"/>
<TextView
android:id="@+id/paiseur"
android:layout_width="fill_parent"
android:layout_weight="5"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="20sp" />
<TextView
android:id="@+id/cantidadeur"
android:layout_width="fill_parent"
android:layout_weight="1"
android:layout_height="wrap_content"
android:textStyle="bold"
android:gravity="center"
android:textSize="20sp" />
</LinearLayout>
我试图在 table.xml 中将宽度更改为 paiseseur 的 220dp,它确实将列分开,但我希望在标题中具有权重。
我添加代码以防它有事可做:
setContentView(R.layout.header);
ListView lv = (ListView) findViewById(android.R.id.list);
SimpleAdapter adapter = new SimpleAdapter(
Verpaiseur.this, paisesList,
R.layout.table, new String[]{TAG_PID, TAG_PAIS, TAG_TOTAL},
new int[]{R.id.pid, R.id.paiseur, R.id.cantidadeur});
lv.setAdapter(adapter);
非常感谢!
最佳答案
试试这个。这会帮助你。
<LinearLayout android:id="@+id/layout"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="6">
<ListView android:id="@android:id/list"
android:layout_height="fill_parent"
android:layout_width="match_parent">
</ListView>
关于Android:xml布局问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34544557/