使TextView和Button的大小相同

时间:2012-08-24 14:38:06

标签: android

我的程序中有一个TextView和Button,我无法获得Button和TextView的大小相同。我怎样才能做到这一点?

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="67dp"
        android:background="#999999" 
        android:gravity="center" 
        >
        <Button
            android:id="@+id/button1"
            android:layout_width="130dp"
            android:layout_height="60dp"
            android:text="Button" />
        <TextView
            android:id="@+id/textView1"
            android:layout_width="130dp"
            android:layout_height="60dp"
            android:background="#ffffff" android:textColor="#000000"
            android:textSize="24dp" android:textStyle="bold"
            android:gravity="center"
            android:text="0.0" />
    </LinearLayout>

2 个答案:

答案 0 :(得分:2)

实际上,它们都具有相同的大小,但Button使用图像作为背景,似乎它有一些边距。

要测试此项,请使用颜色覆盖按钮的背景,并查看它们的大小相同:

android:background="#0F0"

因此,解决方案是为您的按钮提供自定义背景,或调整TextView以匹配按钮的宽度和高度,减去Button的边距,我不认为这是个人最佳方法。

答案 1 :(得分:1)

当我希望多个控件具有相同的大小时,我通常会将它们放在TableLayout中。

在你的情况下,我将一个TableLayout放在线性布局中,并将按钮和textview放在TableRow中,将TableRow的权重设置为2,并将各个控件的权重设置为1.

这会使控件在屏幕上占用相同的空间。示例xml如下所示。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >



        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:weightSum="2" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="@string/hello_world">

            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Button" />
        </TableRow>

    </TableLayout>

</LinearLayout>