我正在使用此代码。但是,当我点击EditText打开键盘时,视图并不完全。为什么视图不会一直向上,EditText隐藏在键盘背后
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_horizontal"
android:background="@drawable/main_bg"
android:id="@+id/mainLayout"
android:focusableInTouchMode="true"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal"
android:id="@+id/topBar"
android:background="@drawable/top_bar_bg"
>
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="horizontal"
android:gravity="center_horizontal|bottom"
android:layout_centerInParent="true"
>
<ImageView
android:id="@+id/loadingAnimationImg"
android:layout_height="35dp"
android:layout_width="35dp"
android:adjustViewBounds="true"
android:contentDescription="@null"
android:background="@drawable/img05"/>
<ImageView
android:layout_marginBottom="5dp"
android:layout_height="wrap_content"
android:layout_width="120dp"
android:adjustViewBounds="true"
android:contentDescription="@null"
android:src="@drawable/simple_logo"/>
</LinearLayout>
</RelativeLayout>
<GridView
android:layout_marginTop="5dp"
android:layout_width="match_parent"
android:layout_height="300dp"
android:id="@+id/gridView"
android:numColumns="5"
android:verticalSpacing="5dp" />
<TextView
android:layout_marginTop="5dp"
android:layout_marginLeft="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="12sp"
android:textColor="@android:color/white"
android:text="@string/hashtagText"
/>
<com.trib.devicebee.custom.FlowLayout
android:id="@+id/flowLayout"
android:layout_margin="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<EditText
android:layout_margin="10dp"
android:id="@+id/hashTagsText"
android:hint=""
android:inputType="textFilter"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="12sp"
/>
<Button
android:id="@+id/goAheadBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/go_ahead_btn"
android:layout_margin="10dp"
/>
</LinearLayout>
答案 0 :(得分:1)
尝试在AndroidManifest.xml中使用 android:windowSoftInputMode 属性 - &#34; adjustPan&#34; 可能就是答案。
<activity
android:name="MyActivity"
android:windowSoftInputMode="adjustPan"
android:configChanges="orientation|keyboardHidden|screenSize"
>
</activity>
答案 1 :(得分:0)
我想出的最佳解决方案是将所有内容放在 scrollView 。
中现在在清单
<activity
android:name="MyActivity"
android:windowSoftInputMode="adjustResize">
</activity>
现在在要关注的editText上使用onfocusChangeListener
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
if (b){
scrollView.smoothScrollTo(0,editText.getBottom()+5);
}
}
});
我们已经完成了。
答案 2 :(得分:-1)
https://developer.android.com/training/keyboard-input/visibility.html
android:windowSoftInputMode =“adjustResize”