画面の下部にあるEditTextに何かを書き込もうとすると、ソフトキーボードがEditTextを非表示にします。この問題を解決するにはどうすればよいですか?以下は私のxmlコードです。私はこれをフラグメントで使用しています。
<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical" >
<RelativeLayout
Android:layout_width="fill_parent"
Android:layout_height="wrap_content" >
<LinearLayout
Android:id="@+id/linearLayoutTopDetails"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_below="@+id/linearLayoutTop"
Android:layout_marginLeft="6dp"
Android:layout_marginRight="6dp"
Android:layout_marginTop="6dp"
Android:orientation="vertical" >
<LinearLayout
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:background="@drawable/list_design1"
Android:orientation="vertical" >
<LinearLayout
Android:layout_width="fill_parent"
Android:layout_height="80dp"
Android:layout_weight="100"
Android:orientation="horizontal" >
<ImageView
Android:id="@+id/ImageViewProfImagePostDetail"
Android:layout_width="0dp"
Android:layout_height="fill_parent"
Android:layout_marginTop="2dp"
Android:layout_weight="24.84"
Android:paddingLeft="5dp"
Android:paddingRight="5dp"
Android:paddingTop="5dp" />
<LinearLayout
Android:layout_width="0dp"
Android:layout_height="wrap_content"
Android:layout_weight="60"
Android:orientation="vertical" >
<TextView
Android:id="@+id/textViewNamePostDetail"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Robin"
Android:textSize="17sp" />
<TextView
Android:id="@+id/textViewLocationPostDetail"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="1dp"
Android:drawableLeft="@drawable/location"
Android:text="beijing, China" />
<TextView
Android:id="@+id/textViewTimeAgoPostDetail"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text=" 18min ago" />
</LinearLayout>
<LinearLayout
Android:layout_width="0dp"
Android:layout_height="fill_parent"
Android:layout_weight="15"
Android:orientation="horizontal" >
<TextView
Android:id="@+id/textViewReportAbusePostDetail"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:background="@drawable/flag"
Android:paddingLeft="5dp" />
<TextView
Android:id="@+id/textViewDeletePostDetail"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:layout_marginLeft="15dp"
Android:background="@drawable/delete"
Android:visibility="gone" />
</LinearLayout>
</LinearLayout>
<TextView
Android:id="@+id/textViewDescriptionPostDetail"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginLeft="20dp"
Android:layout_marginTop="2dp"
Android:singleLine="false"
Android:text="Description or caption of the post"
Android:textSize="17sp" />
</LinearLayout>
<ImageView
Android:id="@+id/feedPostedImagePostDetail"
Android:layout_width="fill_parent"
Android:layout_height="200dp"
Android:layout_marginTop="5dp"
Android:scaleType="fitCenter"
Android:visibility="gone" />
<LinearLayout
Android:id="@+id/linearLayoutOptions"
Android:layout_width="fill_parent"
Android:layout_height="33dp"
Android:layout_marginTop="2dp"
Android:layout_weight="100"
Android:background="@drawable/bar"
Android:orientation="horizontal" >
<TextView
Android:id="@+id/textViewShakePostDetail"
Android:layout_width="0dp"
Android:layout_height="fill_parent"
Android:layout_marginLeft="15dp"
Android:layout_weight="25"
Android:drawableLeft="@drawable/like"
Android:gravity="center"
Android:singleLine="true"
Android:text="Shake"
Android:textSize="12sp" />
<TextView
Android:id="@+id/textViewCommentPostDetail"
Android:layout_width="0dp"
Android:layout_height="fill_parent"
Android:layout_weight="41"
Android:drawableLeft="@drawable/comment"
Android:gravity="center"
Android:paddingLeft="20dp"
Android:text="Comment" />
<TextView
Android:id="@+id/textViewSharePostDetail"
Android:layout_width="0dp"
Android:layout_height="fill_parent"
Android:layout_weight="33"
Android:drawableLeft="@drawable/share"
Android:gravity="center"
Android:paddingLeft="20dp"
Android:text="Spread" />
</LinearLayout>
</LinearLayout>
<ListView
Android:id="@+id/listViewFeedsDetail1"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_below="@+id/linearLayoutTopDetails"
Android:layout_marginBottom="4dp"
Android:layout_marginLeft="6dp"
Android:layout_marginRight="6dp"
Android:layout_marginTop="6dp" >
</ListView>
<LinearLayout
Android:id="@+id/linearLayoutPostcomment"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_below="@+id/listViewFeedsDetail1"
Android:background="#FFFFFF"
Android:orientation="horizontal"
Android:weightSum="100" >
<EditText
Android:id="@+id/editTextComment"
Android:layout_width="0dp"
Android:layout_height="wrap_content"
Android:layout_weight="80" />
<Button
Android:id="@+id/buttonPostComment"
Android:layout_width="0dp"
Android:layout_height="wrap_content"
Android:layout_weight="20"
Android:background="#F0F8FF"
Android:text="Post" >
</Button>
</LinearLayout>
</RelativeLayout>
</ScrollView>
コードで変更を追加することでこの問題を解決しようとしましたが、成功しませんでした。
以下は、EditTextをクリックする前後の画像です。
マニフェストで、これを特定のアクティビティに追加します。
Android:windowSoftInputMode="adjustPan"
そのためには、アクティビティマニフェストで宣言する必要があります
<activity
Android:name=".activityname"
Android:label="@string/app_name"
Android:windowSoftInputMode="adjustPan|adjustResize" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Manifest.xmlファイルでwindowSoftInputMode = "adjustResize"を宣言します
<activity
Android:name=".example"
Android:theme="@style/AppTheme.NoActionBar"
Android:windowSoftInputMode="adjustResize" />
xMLレイアウトファイルにスクロールビューを提供する
<RelativeLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:paddingBottom="16dp"
Android:paddingLeft="16dp"
Android:paddingRight="16dp"
Android:paddingTop="16dp"
Android:fitsSystemWindows="true">
<ScrollView
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:fillViewport="true"
Android:isScrollContainer="false">
// add edittext here...
</ScrollView>
</RelativeLayout>
simple solutionは、SoftKeypadの背後に隠れているAndroid EditTextの問題です。プロジェクトモジュールのAndroidManifest.xmlファイルのコードを使用します。
<activity
Android:name="com.example.MainActivity"
Android:label="@string/activity_main"
Android:windowSoftInputMode="adjustResize|stateHidden" />
このコードは私のために働いた。
アクティビティタグのマニフェストファイル内に、次の属性を追加します。
Android:windowSoftInputMode="adjustResize|stateHidden"
この属性(Android:windowSoftInputMode
)これは推奨リストとして提供されます。また、それらを確認することもできます。
以下のコードを使用してください:
InputMethodManager ipmm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
ipmm.hideSoftInputFromWindow(url.getWindowToken(), 0);
私のコードのURLは次のとおりです:
url = (EditText) findViewById(R.id.eT_webbrowser);
またはこれを試してください:
InputMethodManager ipmm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
ipmm.hideSoftInputFromWindow(null, 0);
別のオプションとしてこれを試してください:これは常に、EditTextが見えるようにソフト入力モードを非表示にします
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
私にとっての解決策は、単純にこれを親レイアウトに追加することでした:Android:fitsSystemWindows = "true"
あなたのAndroidManifest.xml
アクティビティタグにadjustPane
を追加します
<activity Android:name=".LoginActivity"
Android:windowSoftInputMode="adjustPan"/>
これはAndroid adjustPan
モードが設定されている場合のバグのようです
このカスタムEditText
を試して、この問題を回避してください。
https://Gist.github.com/Arjun-sna/768de4ca141798c59a8166a2e5d4a74