我尝试在布局的中心中设置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
你知道吗?请帮助我,谢谢!答案 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)