2013-10-15 63 views
0

我想用xml在矩形上繪製文本。我想要文字居中在矩形上。出於某種原因,矩形和文本都位於網格佈局中。以矩形爲中心的textview

<GridLayout 
     android:id="@+id/daily" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:columnCount="3" 
     android:orientation="horizontal" 
     android:rowCount="1" > 

     <TextView android:background="@drawable/green_rect_small" /> 

     <Space android:layout_width="3dp" /> 

     <RelativeLayout> 

      <View 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:background="@drawable/green_rect_large" /> 

      <TextView 
       android:id="@+id/daily_readings" 
       android:background="@drawable/green_rect_large" 
       android:text="@string/daily_readings" 
       android:textColor="@color/white" 
       android:textSize="40sp" /> 
     </RelativeLayout> 
</GridLayout> 

無論我是否將矩形設置爲文本視圖的bg或作爲單獨視圖,我都無法完成此操作。我錯在哪裏?

回答

1

設置矩形作爲RelativeLayout的背景,然後作出它

<?xml version="1.0" encoding="utf-8"?> 
<GridLayout 
     android:id="@+id/daily" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:columnCount="3" 
     android:orientation="horizontal" 
     android:rowCount="1" xmlns:android="http://schemas.android.com/apk/res/android"> 

     <RelativeLayout 
      android:layout_width="300dp" 
      android:layout_height="200dp" 
      android:background="@drawable/green_rect_large"> 


      <TextView 
       android:id="@+id/daily_readings" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 

       android:text="daily_readings" 
       android:textColor="#FFFFFF" 
       android:textSize="40sp" 
       android:layout_centerInParent="true" /> 

     </RelativeLayout> 
</GridLayout> 
+0

謝謝您的回答ramaral。 –

3

你並不需要使用RelativeLayout的,或單獨視圖中繪製你的綠色矩形文本中心。如果我理解正確,你就可以實現你只是一個單一的TextView想要的一切:

<TextView 
    android:textColor="#FFFFFF" 
    android:background="#339933" 
    android:layout_width="200dp" 
    android:layout_height="50dp" 
    android:gravity="center" 
    android:text="@string/hello_world" /> 

,其結果是:

enter image description here

+0

如果客戶需要一個圖標,我可能會在後面添加一個圖標,這樣我可以保留相對佈局,但是您的方式是更高效的方式。 –