0

スクロール ビュー相対レイアウトでレイアウトを作成しています。私が直面している問題は、ソフトキーパッドが開くとすぐにレイアウトのサイズが変更されることです。

ここにレイアウトファイルがあります:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true"
    android:padding="10px" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

    <TextView
        android:id="@+id/settings_textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="15dp"
        android:text="Settings"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/trainingSchedule_textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/settings_textView"
        android:layout_marginLeft="19dp"
        android:layout_marginTop="22dp"
        android:text="Training Schedule:"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <EditText
        android:id="@+id/trainingSchedule_editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/trainingSchedule_textView"
        android:layout_alignBottom="@+id/trainingSchedule_textView"
        android:layout_marginLeft="14dp"
        android:layout_toRightOf="@+id/trainingSchedule_textView"
        android:ems="10" >
    </EditText>

    <TextView
        android:id="@+id/days_textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/trainingSchedule_textView"
        android:layout_below="@+id/trainingSchedule_editText"
        android:layout_marginTop="34dp"
        android:text="Days:"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <EditText
        android:id="@+id/days_editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/days_textView1"
        android:layout_alignBottom="@+id/days_textView1"
        android:layout_alignLeft="@+id/trainingSchedule_editText"
        android:ems="10"
        android:inputType="number" />

    <TextView
        android:id="@+id/time_textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/days_textView1"
        android:layout_below="@+id/days_editText"
        android:layout_marginTop="37dp"
        android:text="Time:"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <EditText
        android:id="@+id/time_editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/time_textView"
        android:layout_alignBottom="@+id/time_textView"
        android:layout_alignLeft="@+id/days_editText"
        android:ems="10"
        android:inputType="time" >
    </EditText>

    <TextView
        android:id="@+id/timezone_textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/time_textView"
        android:layout_centerVertical="true"
        android:text="Time Zone:"
        android:textAppearance="?android:attr/textAppearanceSmall" />


    <EditText
        android:id="@+id/timezone_editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/timezone_textView"
        android:layout_alignBottom="@+id/timezone_textView"
        android:layout_alignLeft="@+id/time_editText"
        android:layout_alignParentRight="true"
        android:ems="10"
        android:inputType="number" >


    </EditText>

    <TextView
        android:id="@+id/frequency_textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/timezone_textView"
        android:layout_below="@+id/timezone_editText"
        android:layout_marginTop="41dp"
        android:text="Frequency:"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <EditText
        android:id="@+id/frequency_editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/frequency_textView"
        android:layout_alignBottom="@+id/frequency_textView"
        android:layout_alignLeft="@+id/timezone_editText"
        android:ems="10" />

    <TextView
        android:id="@+id/notifications_textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/frequency_textView"
        android:layout_below="@+id/frequency_editText"
        android:layout_marginTop="42dp"
        android:text="Notifications:"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <EditText
        android:id="@+id/notifications_editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/notifications_textView"
        android:layout_alignBottom="@+id/notifications_textView"
        android:layout_alignLeft="@+id/frequency_editText"
        android:ems="10" />

</RelativeLayout>
</ScrollView>

これは、エミュレーターで実行した後の出力です。

エミュレータ出力

どうすればこれを修正できますか?

4

3 に答える 3

1

xml ファイルを変更する必要はありません。次のコードを既存のコードから置き換えてください。いくつかの小さな変更を加えました。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true"
    android:padding="10px" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/settings_textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="15dp"
            android:text="Settings"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/trainingSchedule_textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/settings_textView"
            android:layout_marginLeft="19dp"
            android:layout_marginTop="22dp"
            android:text="Training Schedule:"
            android:textAppearance="?android:attr/textAppearanceSmall" />

        <EditText
            android:id="@+id/trainingSchedule_editText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/trainingSchedule_textView"
            android:layout_alignBottom="@+id/trainingSchedule_textView"
            android:layout_marginLeft="14dp"
            android:layout_toRightOf="@+id/trainingSchedule_textView"
            android:ems="10" >
        </EditText>

        <TextView
            android:id="@+id/days_textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/trainingSchedule_textView"
            android:layout_below="@+id/trainingSchedule_editText"
            android:layout_marginTop="34dp"
            android:text="Days:"
            android:textAppearance="?android:attr/textAppearanceSmall" />

        <EditText
            android:id="@+id/days_editText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/days_textView1"
            android:layout_alignBottom="@+id/days_textView1"
            android:layout_alignLeft="@+id/trainingSchedule_editText"
            android:ems="10"
            android:inputType="number" />

        <TextView
            android:id="@+id/time_textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/days_textView1"
            android:layout_below="@+id/days_editText"
            android:layout_marginTop="34dp"
            android:text="Time:"
            android:textAppearance="?android:attr/textAppearanceSmall" />

        <EditText
            android:id="@+id/time_editText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/time_textView"
            android:layout_alignBottom="@+id/time_textView"
            android:layout_alignLeft="@+id/days_editText"
            android:ems="10"
            android:inputType="time" >
        </EditText>

        <TextView
            android:id="@+id/timezone_textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/time_textView1"
            android:layout_below="@+id/time_editText"
            android:layout_marginTop="34dp"
            android:text="Time Zone:"
            android:textAppearance="?android:attr/textAppearanceSmall" />

        <EditText
            android:id="@+id/timezone_editText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/timezone_textView"
            android:layout_alignBottom="@+id/timezone_textView"
            android:layout_alignLeft="@+id/time_editText"
            android:layout_alignParentRight="true"
            android:ems="10"
            android:inputType="number" >
        </EditText>

        <TextView
            android:id="@+id/frequency_textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/timezone_textView"
            android:layout_below="@+id/timezone_editText"
            android:layout_marginTop="41dp"
            android:text="Frequency:"
            android:textAppearance="?android:attr/textAppearanceSmall" />

        <EditText
            android:id="@+id/frequency_editText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/frequency_textView"
            android:layout_alignBottom="@+id/frequency_textView"
            android:layout_alignLeft="@+id/timezone_editText"
            android:ems="10" />

        <TextView
            android:id="@+id/notifications_textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/frequency_textView"
            android:layout_below="@+id/frequency_editText"
            android:layout_marginTop="42dp"
            android:text="Notifications:"
            android:textAppearance="?android:attr/textAppearanceSmall" />

        <EditText
            android:id="@+id/notifications_editText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/notifications_textView"
            android:layout_alignBottom="@+id/notifications_textView"
            android:layout_alignLeft="@+id/frequency_editText"
            android:ems="10" />
    </RelativeLayout>

</ScrollView>
于 2012-11-01T08:00:52.290 に答える
0

android:windowSoftInputModeアクティビティのマニフェストファイルにプロパティを設定してみてください。アクティビティ名が。である場合を考えてみましょうKeyBoardScrollIssue。その場合、アクティビティエントリは次のようになります。

<activity
        android:name=".KeyBoardScrollIssue"
        android:label="@string/title_activity_key_board_scroll_issue" android:windowSoftInputMode="adjustPan">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
于 2012-11-01T07:45:41.493 に答える
0

android:layout_below="xxxx"このプロパティをそれぞれに設定しますTextView

時間のみに設定しました

タイムゾーン、頻度なども追加してください....

あなたの問題は解決されます。

于 2012-11-01T07:30:04.307 に答える