0

我的程序中有一个 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>
4

2 回答 2

2

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

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

android:background="#0F0"

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

于 2012-08-24T14:42:40.513 回答
1

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

在您的情况下,我会将 TableLayout 放在线性布局中,并将按钮和 textview 放在 TableRow 中,将 TableRow 的 weightsum 设置为 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>
于 2012-08-24T15:17:11.127 回答