在Android中根据设备大小调整表单大小

时间:2019-09-26 15:43:04

标签: java android xml forms android-layout

我制作了这张表格,该表格在我的模拟器(Google Pixel c)上如下图所示:

enter image description here

然后我在Samsung Galaxy Tab上尝试了该应用程序,并出现了一个白色的条形图:

enter image description here

我该如何解决?这是我的xml格式的代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
style="@style/MyDialog"
android:layout_width="@dimen/_100sdp"
android:layout_height="@dimen/_100sdp"
android:gravity="center">

<Button
    android:id="@+id/button_form"
    android:layout_width="@dimen/_20sdp"
    android:layout_height="@dimen/_10sdp"
    android:layout_below="@+id/nameEditText"
    android:layout_marginLeft="@dimen/_30sdp"
    android:layout_marginTop="@dimen/_5sdp"
    android:layout_marginBottom="@dimen/_7sdp"
    android:background="@drawable/button_bg"
    android:textAlignment="center"
    android:textColor="@color/whiteTextColor"
    android:textSize="@dimen/_7sdp"
    android:text="OK">

</Button>

<CheckBox
    android:id="@+id/myCheckBox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="@dimen/_11sdp"
    android:text="Abilitare la palette di colori?" />

<EditText
    android:id="@+id/nameEditText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/genderRadioGroup"
    android:layout_alignParentLeft="true"
    android:layout_marginTop="@dimen/_2sdp"
    android:ems="10"
    android:hint="Inserisci l'eta'">

    <requestFocus />
</EditText>

<RadioGroup
    android:id="@+id/genderRadioGroup"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/myCheckBox">


    <RadioButton
        android:id="@+id/maleRadioButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="@dimen/_3sdp"
        android:text="Maschio" />


    <RadioButton
        android:id="@+id/femaleRadioButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/maleRadioButton"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="@dimen/_1sdp"
        android:text="Femmina" />
</RadioGroup>

我使用了SDP库来使其适应每种屏幕分辨率。这可能是问题吗?

1 个答案:

答案 0 :(得分:0)

按照@vidulaJ的建议解决

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
style="@style/MyDialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">

<Button
    android:id="@+id/button_form"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/nameEditText"
    android:layout_marginLeft="@dimen/_24sdp"
    android:layout_marginTop="@dimen/_5sdp"
    android:layout_marginBottom="@dimen/_7sdp"
    android:background="@drawable/button_bg"
    android:textAlignment="center"
    android:textColor="@color/whiteTextColor"
    android:textSize="@dimen/_7sdp"
    android:text="OK">

</Button>

<CheckBox
    android:id="@+id/myCheckBox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="@dimen/_11sdp"
    android:text="Abilitare la palette di colori?" />

<EditText
    android:id="@+id/nameEditText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/genderRadioGroup"
    android:layout_alignParentLeft="true"
    android:layout_marginTop="@dimen/_2sdp"
    android:ems="10"
    android:hint="Inserisci l'eta'">

    <requestFocus />
</EditText>

<RadioGroup
    android:id="@+id/genderRadioGroup"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/myCheckBox">


    <RadioButton
        android:id="@+id/maleRadioButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="@dimen/_3sdp"
        android:text="Maschio" />


    <RadioButton
        android:id="@+id/femaleRadioButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/maleRadioButton"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="@dimen/_1sdp"
        android:text="Femmina" />
</RadioGroup>