jackhab jackhab - 2 months ago 19
Android Question

Center text items in ListView

How can I horizontally center-align text items of the

ListView
in my
Layout
?

Honestly, I googled for at least an hour before asking such a basic question.

Thanks.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >

<EditText
android:layout_width="match_parent"
android:layout_height="50dp"
android:hint="Remind..." />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:baselineAligned="false"
android:orientation="horizontal" >

<ListView
android:id="@+id/listviewTimeInterval"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:scrollbars="none" />

<-- . . . --/>
<-- more lists of the same kind--/>
<-- . . .--/>

</LinearLayout>

</LinearLayout>

Answer

You need to create your own layout for your listview item, something like this

Example:

textcenter.xml:

<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>

Then, in your code, your have to do this

ArrayAdapter<String> ad = new ArrayAdapter<String>(this, R.layout.textcenter, R.id.textItem, functions);
listView.setAdapter(ad);
Comments