我想使用xml在矩形上绘制文本。我希望文本以矩形为中心。由于某种原因,矩形和文本都在gridlayout中。
<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还是单独的视图,我都无法完成。我哪里错了?
答案 0 :(得分: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" />
结果是:
答案 1 :(得分: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>