我无法将列表视图中的文本居中

时间:2014-03-30 14:18:44

标签: java android xml

我有这个xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".AllJokes" 
    android:background="@drawable/background">

    <ListView
              android:id="@+id/allJokesList"
              android:layout_width="fill_parent"
              android:layout_height="0dp"
              android:layout_weight="1"
              android:gravity="center">
    </ListView>


              <com.google.android.gms.ads.AdView android:id="@+id/adView"

                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center_vertical"
                    ads:adUnitId="ca-app-pub-code/code"
                    ads:adSize="BANNER"
                />

</LinearLayout>

正如您所看到的那样,我试图通过listView使android:gravity="center_vertical"的文本居中,但没有成功。我也尝试过这样做:android:gravity="center",但它始终保持对齐。

同样在java代码中我将listView的白色背景设置为:

listView.setBackgroundColor(Color.WHITE);

它搞乱了吗?

为什么会这样?

我知道我错过了一些非常小而基本的东西,但作为初学者,我无法发现它。

修改

以下是我用于向列表视图添加项目的代码:

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new ArrayList<String>());
        adapter.clear();
        adapter.addAll(globals.getMyStringArray());

        listView = (ListView) findViewById(R.id.allJokesList);
        listView.setAdapter(adapter);
        listView.setBackgroundColor(Color.WHITE);

globals.getMyStringArray()已填充值。

1 个答案:

答案 0 :(得分:1)

使用它。我复制了同样的android.R.layout.simple_list_item_1布局,但改变了android:gravity =&#34; center&#34;

R.layout.custom_simple_list_item

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:gravity="center"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:minHeight="?android:attr/listPreferredItemHeightSmall"/>

更改代码..

 adapter = new ArrayAdapter<String>(this, R.layout.custom_simple_list_item, new ArrayList<String>());