29

私は現在、ユーザーが写真を撮ってその詳細を書くことができるAndroidアプリケーションを構築しています。アプリケーションはSherlockライブラリを使用します。

画像を表示するためのSherlockFragmentと、ユーザーが画像の情報を入力できるようにするためのEditTextとTextViewをいくつか実装しました。ただし、EditTextの1つにフォーカスがある場合は、すべてのフィールドが押し上げられ、ソフトキーボードがポップアップします。

これが私のレイアウトです:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linear"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    android:background="#FFFFFF">

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="200dip"
        android:layout_above="@+id/textView"
        android:layout_marginTop="20dip"
        android:layout_marginBottom="20dip"
        android:contentDescription="desc" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Title:"
        android:textStyle="bold"
        android:layout_above="@+id/editTextSimple" 
        android:layout_marginBottom="2dip"
        android:textSize="15sp"/>

     <EditText
        android:id="@+id/editTextSimple"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/textView1"
        android:layout_marginBottom="4dip">
        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Description:"
        android:textStyle="bold"
        android:layout_above="@+id/editTextSimple1" 
        android:layout_marginBottom="2dip"
        android:textSize="15sp"/>

    <EditText
        android:id="@+id/editTextSimple1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/textView2"  
        android:layout_marginBottom="12dip">
    </EditText>

    <Button android:textColor="#FF000000" 
        android:id="@+id/submitButton" 
        android:text="@string/memorySubmit" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="24dip"
        android:onClick = "submit"/>
</RelativeLayout>

私が理解していることから、アクティビティでは<activity android:windowSoftInputMode="...." >、ソフトキーボードが呼び出されたときにビューを調整するために、これをAndroidマニフェストに配置する必要があります。しかし、これをフラグメントにどのように設定しますか?

4

8 に答える 8

12

1つのフラグメントはすべてActivity親と同じ動作をしActivityますが、異なるキーボードの動作が必要な場合は、次のようにコードFragmentsからこのプロパティを動的に変更できます。Fragment

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.softInputMode.SOFT_INPUT_ADJUST_PAN);

お役に立てれば!

于 2012-12-26T08:43:25.133 に答える
2

これを試してgetActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

于 2013-10-11T11:26:11.823 に答える
-1
   android:launchMode="singleTask"
   android:windowSoftInputMode="adjustPan"

マニフェストのこの変更は私にとってはうまくいきます

于 2016-09-01T08:41:30.090 に答える