如何使ListFragment的内容居中

时间:2012-07-15 16:38:53

标签: android

我有一个简单的布局:

    <?xml version="1.0" encoding="utf-8"?>
   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center_vertical|center_horizontal"
    android:orientation="horizontal" >
   <fragment class="my.test.package.CitiesFragment"
      android:id="@+id/cities" android:layout_weight="4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"      
      android:layout_gravity="center_vertical|center_horizontal"
      />
  //....
   </LinearLayout>
在左边你可以看到我有一个listfragment,我用城市填充它。 Listfragment包含简单的自定义适配器:

setListAdapter(new CitiesArrayAdapter<String>(getActivity(), R.layout.city_list_item, citiesArrayList));

,city_list_item.xml为:

<my.test.package.VerticalTextView xmlns:android="http://schemas.android.com/apk/res/android"
        style="@style/verticalTextStyle"
        android:id="@+id/VerticalTextView" android:layout_width="fill_parent"
    android:layout_height="fill_parent"         
    android:gravity="center_horizontal|center_vertical"
    android:layout_gravity="center_horizontal|center_vertical"          
    android:background="@android:color/black"
    android:textColor="@android:color/white"
        />

VerticalTextView类取自本网站。代码在这里: VerticalTextView class

这是我到目前为止: enter image description here

从图中可以看出,城市是左对齐的。我怎样才能将这些城市居中?这让我疯了!

*****发现问题:它在verticaltextview类中:     canvas.translate(getCompoundPaddingLeft(),getExtendedPaddingTop()); **

getCompoundPaddingLeft右上角总是返回30,布局搞砸了。 谁知道为什么??????????或者如何解决?

0 个答案:

没有答案