Java 如何缩放文本按钮?

Java 如何缩放文本按钮?,java,android,xml,user-interface,Java,Android,Xml,User Interface,我想开发一个类似计算器的应用程序。问题是,每个设备上的文本按钮的顺序必须相同。我这样试过,但没有成功: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" an

我想开发一个类似计算器的应用程序。问题是,每个设备上的文本按钮的顺序必须相同。我这样试过,但没有成功:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:id="@+id/RelativeLayout1"
android:background="@drawable/neon_bg">



<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:text="New Button"
    android:id="@+id/button1"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:text="New Button"
    android:id="@+id/button2"
    android:layout_alignTop="@+id/button1"
    android:layout_toRightOf="@+id/button1"
    android:layout_toEndOf="@+id/button1"
    android:layout_weight="8"/>

<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:text="New Button"
    android:id="@+id/button3"
    android:layout_toEndOf="@+id/button2"
    android:layout_alignTop="@+id/button2"
    android:layout_toRightOf="@+id/button2" />

<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:text="New Button"
    android:id="@+id/button4"
    android:layout_toEndOf="@+id/button3"
    android:layout_alignTop="@+id/button3"
    android:layout_toRightOf="@+id/button3" />

<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:text="New Button"
    android:id="@+id/button5"
    android:layout_below="@+id/button1"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:text="New Button"
    android:id="@+id/button6"
    android:layout_alignBottom="@+id/button5"
    android:layout_alignLeft="@+id/button2"
    android:layout_alignStart="@+id/button2" />

<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:text="New Button"
    android:id="@+id/button7"
    android:layout_alignTop="@+id/button6"
    android:layout_alignLeft="@+id/button3"
    android:layout_alignStart="@+id/button3" />

<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:text="New Button"
    android:id="@+id/button8"
    android:layout_alignBottom="@+id/button7"
    android:layout_toRightOf="@+id/button7"
    android:layout_toEndOf="@+id/button7" />

<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:text="New Button"
    android:id="@+id/button9"
    android:layout_below="@+id/button5"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:text="New Button"
    android:id="@+id/button10"
    android:layout_alignBottom="@+id/button9"
    android:layout_alignLeft="@+id/button6"
    android:layout_alignStart="@+id/button6" />

<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:text="New Button"
    android:id="@+id/button11"
    android:layout_alignBottom="@+id/button10"
    android:layout_alignLeft="@+id/button7"
    android:layout_alignStart="@+id/button7" />

<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:text="New Button"
    android:id="@+id/button12"
    android:layout_alignBottom="@+id/button11"
    android:layout_toRightOf="@+id/button11"
    android:layout_toEndOf="@+id/button11" />

<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:id="@+id/button13"
    android:layout_below="@+id/button9"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:text="New Button"
    android:id="@+id/button14"
    android:layout_below="@+id/button10"
    android:layout_alignLeft="@+id/button10"
    android:layout_alignStart="@+id/button10" />

<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:text="New Button"
    android:id="@+id/button15"
    android:layout_below="@+id/button10"
    android:layout_toRightOf="@+id/button14"
    android:layout_toEndOf="@+id/button14" />

<Button
    android:layout_width="140dp"
    android:layout_height="75dp"
    android:text="New Button"
    android:id="@+id/button16"
    android:layout_below="@+id/button12"
    android:layout_toRightOf="@+id/button15"
    android:layout_toEndOf="@+id/button15" />

我怎样才能让按钮缩放到屏幕所需的大小,从而使按钮的相对大小相同


谢谢

您必须使用
weight\u sum
weight
属性来实现您正在寻找的目标

例如,这里的父视图组是
LinearLayout
,它的
weight\u sum
是2,所以在你的例子中它是4,它的子视图组是
RelativeLayout
,它的
weight
是1,在你的例子中它也是1,你可以用
按钮来代替它

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_rel"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:weightSum="2.0" >

    <RelativeLayout
        android:id="@+id/child_one"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1.0"
        android:background="#0000FF" >
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/child_two"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1.0"
        android:background="#00FF00" >
    </RelativeLayout>

</LinearLayout>


它应该可以解决您的问题。

您可以使用多个.xml文件来处理多个屏幕资源,或者您可以使用权重来表示版面的宽度和高度,而不是dp