0

これは私の最初のAndroidアプリなので、これには非常に新しいです。私のアプリをモバイル デバイスで使用すると、レイアウトが完全に表示されません。最後にボタンが表示されないということです。ScrollView を使用すると、この問題が解決します。しかし、使用するデバイスに基づいてレイアウトを調整する方法はありますか? また、ScrollView を使用するためのコード例もいただければ幸いです。前もって感謝します。

編集: レイアウト コード (.xml)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Matchdetails" >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="15dp"
        android:text="@string/Name" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView2"
        android:layout_alignParentRight="true"
        android:ems="10"
        android:inputType="text" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:text="@string/Maledet" />

    <Spinner
        android:id="@+id/spin_ras"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView2"
        android:layout_below="@+id/textView2"
        android:layout_toLeftOf="@+id/textView1" />

    <Spinner
        android:id="@+id/spin_nak"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/spin_ras"
        android:layout_below="@+id/spin_ras"
        android:layout_toLeftOf="@+id/textView1" />

    <Spinner
        android:id="@+id/spin_gotra"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/spin_nak"
        android:layout_toRightOf="@+id/textView1" />

    <Spinner
        android:id="@+id/spin_pada"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/spin_nak"
        android:layout_toRightOf="@+id/textView1" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView4"
        android:layout_alignBottom="@+id/textView4"
        android:layout_alignRight="@+id/spin_pada"
        android:ems="10"
        android:inputType="text" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/spin_nak"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="14dp"
        android:text="@string/Femdet" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/spin_nak"
        android:layout_below="@+id/textView3"
        android:layout_marginTop="14dp"
        android:text="@string/Name" />

    <Spinner
        android:id="@+id/spin_fras"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView4"
        android:layout_below="@+id/editText2"
        android:layout_marginTop="14dp"
        android:layout_toLeftOf="@+id/textView1" />

    <Spinner
        android:id="@+id/spin_fnak"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/spin_fras"
        android:layout_below="@+id/spin_fras"
        android:layout_toLeftOf="@+id/textView1" />

    <Spinner
        android:id="@+id/spin_fpada"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/spin_fnak"
        android:layout_toRightOf="@+id/textView1" />

    <Spinner
        android:id="@+id/spin_fgotra"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/spin_fpada"
        android:layout_toRightOf="@+id/textView1" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/spin_fnak"
        android:layout_marginLeft="15dp"
        android:layout_toRightOf="@+id/textView4"
        android:text="@string/Submit" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/button1"
        android:layout_marginLeft="20dp"
        android:layout_toRightOf="@+id/button1"
        android:text="@string/Cancel" />

</RelativeLayout>
4

3 に答える 3

1

互換性のあるレイアウトを試してみることもできます:)

ここに画像の説明を入力

于 2013-11-01T06:46:43.597 に答える
0

レイアウトを変更し、スクロール ビューに配置しました。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".Matchdetails" >

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/textView1"
            android:layout_marginTop="15dp"
            android:text="@string/Name" />

        <EditText
            android:id="@+id/editText1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@id/textView2"
            android:layout_alignParentRight="true"
            android:ems="10"
            android:inputType="text" >
        </EditText>

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:text="@string/Maledet" />

        <Spinner
            android:id="@+id/spin_ras"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@id/textView2"
            android:layout_below="@id/textView2"
            android:layout_toLeftOf="@id/textView1" />

        <Spinner
            android:id="@+id/spin_nak"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/spin_ras"
            android:layout_below="@id/spin_ras"
            android:layout_toLeftOf="@id/textView1" />

        <Spinner
            android:id="@+id/spin_gotra"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@id/spin_nak"
            android:layout_toRightOf="@id/textView1" />

        <Spinner
            android:id="@+id/spin_pada"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@id/spin_nak"
            android:layout_toRightOf="@id/textView1" />

        <EditText
            android:id="@+id/editText2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/textView4"
            android:layout_alignBottom="@+id/textView4"
            android:layout_alignRight="@id/spin_pada"
            android:ems="10"
            android:inputType="text" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/spin_nak"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="14dp"
            android:text="@string/Femdet" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@id/spin_nak"
            android:layout_below="@id/textView3"
            android:layout_marginTop="14dp"
            android:text="@string/Name" />

        <Spinner
            android:id="@+id/spin_fras"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/textView4"
            android:layout_below="@id/editText2"
            android:layout_marginTop="14dp"
            android:layout_toLeftOf="@id/textView1" />

        <Spinner
            android:id="@+id/spin_fnak"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@id/spin_fras"
            android:layout_below="@id/spin_fras"
            android:layout_toLeftOf="@id/textView1" />

        <Spinner
            android:id="@+id/spin_fpada"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@id/spin_fnak"
            android:layout_toRightOf="@id/textView1" />

        <Spinner
            android:id="@+id/spin_fgotra"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@id/spin_fpada"
            android:layout_toRightOf="@id/textView1" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/spin_fpada"
            android:layout_centerHorizontal="true" >

            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/spin_fnak"
                android:layout_margin="5dp"
                android:text="@string/Submit" />

            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_toRightOf="@id/button1"
                android:text="@string/Cancel" />
        </LinearLayout>
    </RelativeLayout>

</ScrollView>

注意すべきことがいくつかあります。

  1. @+id/view_id は、レイアウトで初めて新しいビュー ID を作成する場合にのみ必要です。既存の ID を参照する場合は、@id/view_id を使用して参照できます。

  2. 可能な限り、値をハード コーディングしないでください。レイアウトを使用してさまざまな画面に合わせるのが難しいことに気付くでしょう。

  3. 上記のレイアウトは完全ではありませんが、要件に適合します。レイアウトでネストされたビューを使用し、レイアウト xml でさまざまな属性が何を意味するかを理解することができます。つまり、さまざまなことを試すことで得られるものです。

一般に、複数の画面を設計するには、多くの要因を考慮する必要があります。

  1. さまざまなサイズと解像度 (VGA/ HVGA / WVGA/ WXGA) 画面/(hdpi/mdpi..) 密度の画面をサポートします。
  2. さまざまなフォーム ファクター (スマートフォン/タブレット)
  3. 同じデバイスで異なる向き (横向き/縦向き)。

複数の画面タイプ用にアプリを設計するための完全なノウハウについては、おそらくこれをお読みください。また、リンクにサンプル アプリケーションがあります。

于 2013-11-01T02:14:33.147 に答える