在中心设置ListView的文本 - android

时间:2011-06-09 15:40:51

标签: android android-layout

我尝试在布局的中心中设置ListView的文本。我使用LinearLayout并设置 gravity = center ,但它始终显示在

这是布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <LinearLayout android:orientation="vertical"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:gravity="center">
        <ListView android:id="@+id/lv_function" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:gravity="center" />
    </LinearLayout>
</LinearLayout>

在我的代码中,我使用:

String[] functions = { "Login", "Register", "Setting", "About", "Exit" };
lvMenu = (ListView) findViewById(R.id.lv_function);
ArrayAdapter<String> arr = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, functions);
// set adapter for ListView.
lvMenu.setAdapter(arr);

结果如下: result

你知道吗?请帮助我,谢谢!

2 个答案:

答案 0 :(得分:13)

您必须为列表视图项创建自己的布局。像这样的东西

<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center" >
        <TextView
            android:id="@id/textItem"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
</LinearLayout>

然后,在您的代码中,您将不得不这样做

 new ArrayAdapter<String>(this, R.layout.yourRowItemLayoutHere, R.id.textItem, functions);

希望有所帮助

答案 1 :(得分:0)

  • layout_gravity =在子视图中使用布局进行影响
  • 重力 - 在您的子视图中对内容的影响