2014-03-30 36 views
1

我有這樣的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> 

正如你可以看到我嘗試使用android:gravity="center_vertical"居中listView的文本,但沒有成功。我也試圖通過: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

後您的列表項xml – Libin

+0

@Libin以上xml是我用於該活動的唯一一個。 – chility

+0

如何添加項目到列表視圖? – Libin

回答

1

使用此。我複製了相同的android.R.layout.simple_list_item_1佈局,但改變機器人:比重= 「中心」

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>()); 
+0

好吧,我應該多挖一點,關於如何去做,因爲我在'sdk \ platforms \ android-19 \ data \ res \ layout'文件夾無法訪問。謝謝您的幫助! :) – chility

+1

好。當您的需求與sdk中的佈局不同時,您必須創建自己的佈局,因爲您不允許修改jar中的sdk文件。只有在您構建定製的Android平臺時才能修改 – Libin