我有这个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()
已填充值。
答案 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>());