0

我有一个简单的布局:

    <?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 由简单的自定义适配器组成:

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 类

这是我到目前为止所拥有的: 在此处输入图像描述

正如您从图片中看到的那样,城市是左对齐的。我怎样才能以这些城市为中心???这让我发疯了!

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

getCompoundPaddingLeft right top bottom 总是返回 30 ,布局变得一团糟。有谁知道为什么?????????或如何解决?

4

0 回答 0