0

我有一个列表视图,显示来自扩展的自定义适配器的项目ArrayAdapter。每个项目都是一个自定义布局,其中一个RelativeLayout是根视图。现在,我希望它RelativeLayout在列表视图中水平居中,但我尝试的一切似乎都失败了。

这是我的自定义适配器getView方法:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View row = mInflater.inflate(R.layout.screens_listview_row, parent, false);
    return row;
}

这是文件screens_listview_row.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:id="@+id/root"
   .....
   android:layout_gravity="center_horizontal" >
</RelativeLayout>

起初,我的布局参数似乎RelativeLayout被完全忽略了,而且确实如此,因为我使用了,这个答案inflate(R.layout.screens_listview_row, null)的问题是什么。

所以现在唯一忽略的是layout_gravity参数。我也试过layout_marginLeft(这个布局中的所有东西都是绝对大小,所以我可以通过给左边距来自己居中......)但Android也忽略了它。这里有什么问题?

4

2 回答 2

2

尝试使用重力而不是 layout_gravity (因为我知道重力是布局的内容)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:id="@+id/root"
   .....
   android:gravity="center_horizontal" >
</RelativeLayout>
于 2013-11-04T18:54:54.783 回答
0

ListView我没有找到如何控制项目在ListView.

于 2013-11-12T12:43:04.800 回答