Android:xml布局问题

标签 android xml android-layout

我敢肯定这一定是个小问题,但我无法让它发挥作用。我有一个包含两列的 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/

相关文章:

java - 无法使用 libgdx 框架在 Android 中的 facebook 墙上发布游戏分数

xml - XPath 和 Jabber-RPC

java - 重用floatActionButton android

android - 如何在 Android 中以编程方式启动软件更新?

java - FloatingActionButton 与 RecyclerView 中的 CardView 重叠

android - Android 中 CheckBox 右侧的文本

android - 在 Android 应用程序中集成谷歌助手

android - Proguard ParseException : "Expecting keyword ' allowshrinking', 'allowoptimization' 或 'allowobfuscation' 之前的 'includedescriptorclasses"' on -Keep

java - 向 map 添加标记

java - 使用 jaxb 解析包装属性