从下面的屏幕截图中可以看出,列表视图中的第一项不是垂直居中的。我该如何居中呢?
活动XML
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_above="@+id/button"
android:layout_alignParentTop="true" />
代码,我只是从books数组填充listview ...
List<String> books = new ArrayList<String>();
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(Main.this, android.R.layout.simple_list_item_1, books);
lvFirst.setAdapter(adapter1);
答案 0 :(得分:0)
尝试将此行添加到ListView XML:
android:gravity="center"
它应该是这样的:
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_above="@+id/button"
android:layout_alignParentTop="true"
android:gravity="center"/>
编辑:
对不起,现在我明白了你的问题。
您正在使用&#34; android.R.layout.simple_list_item_1&#34;作为你的内置布局,但它不会那样工作。
这是this question的副本。
总结一下,您需要创建自己的布局以传递给适配器。答案在上面发布的问题链接中。
答案 1 :(得分:0)
感谢您的时间和答案,但我无法相信这是一个不好的实现,所以我只列出了一些默认布局,这解决了我的问题,所以我想在这里写一下,以帮助将来的人
adapter1 = new ArrayAdapter<String>(Main.this, android.R.layout.simple_selectable_list_item, books);
我刚改变了:
android.R.layout.simple_list_item_1
到:
android.R.layout.simple_selectable_list_item