1

私はActivityGroupを持っています。子アクティビティには一連の EditText があります。仮想キーボードが表示されると、レイアウトが上に移動せず、ユーザーは入力フィールドを見ることができません。設定android:windowSoftInputMode="adjustResize"manifest.xmlても、必要な結果が得られません。

    <activity android:name="com.boyko.organizer.activities.editors.AddCarActivity" android:windowSoftInputMode="adjustResize" >
    </activity>
    <activity android:name="MainActivityGroupWithFrame"   android:windowSoftInputMode="adjustResize">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>

編集済み

奇妙な行動を発見。私は親としてカスタム horizo​​ntalscrollview を持ち、2 つの子: activityGroup と listview を持っています。スクロールビューを削除し、アクティビティ グループを親として設定すると、すべて正常に動作します。

4

2 に答える 2

0

私が提案できるのは、レイアウトをScrollViewに配置してから、マニフェストに追加すること android:windowSoftInputMode="adjustResize"です。このようなもの

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

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

          <TextView 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" 
            android:gravity="center" 
            android:id="@+id/tv_message" 
            style="@style/Text.Large.Bold.Colored.Red" />

            // other widget
    </LinearLayout>
</ScrollView>
于 2013-01-23T10:18:07.207 に答える
0

私のためにそれをした唯一のことは、コードでそれを行うことでした。

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

私の活動のonCreate方法に。

すべての XML 試行はまったく機能しませんでしたが、複数の状態値を設定することで一部のデバイスで機能するように見えるいくつかのハックについて聞いたことがありますが、Google はここで「未定義の結果につながる可能性がある」と述べているandroid:windowSoftInputModeため、これは明らかにちょっとしたハックです。"。

とにかく、上記の行は、これまでに試したすべてのデバイスで正常に機能しました。

于 2014-05-13T13:47:16.490 に答える