作者:执念 | 来源:互联网 | 2023-07-05 17:26
当我在点击EditText时候,屏幕会整体上移,但是屏幕中有一个webview的布局,还在原来的位置,并且会遮挡布局。而且webview布局里的内容还消失了,怎么解决webview的遮挡问题,还有we
当我在点击EditText时候,屏幕会整体上移,但是屏幕中有一个webview的布局,还在原来的位置,并且会遮挡布局。而且webview布局里的内容还消失了,怎么解决webview的遮挡问题,还有webview的显示问题?
引用
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
tools:cOntext="com.edittext.zedittext.MainActivity"
android:orientation="vertical">
android:layout_
android:layout_
android:text="@string/hello_world" />
android:layout_
android:layout_
android:src="@drawable/google"
/>
android:id="@+id/social_list_feed_message_textview"
android:layout_
android:layout_
android:layout_marginRight="10dip"
android:layout_marginTop="5dip"
/>
android:layout_
android:layout_
android:src="@drawable/google"
/>
android:layout_
android:layout_
android:orientation="horizontal"
android:gravity="center_vertical"
>
android:layout_
android:layout_
android:hint="请输入信息"
android:layout_weight="4"
/>
android:layout_
android:layout_weight="1"
android:layout_
android:text="post"
>
public class MainActivity extends Activity {
private WebView webView;
static final String mimeType = "text/html";
static final String encoding = "utf-8";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
setContentView(R.layout.activity_main);
init();
}
private void init() {
webView = (WebView) findViewById(R.id.social_list_feed_message_textview);
this.localHtmlZh();
// webViewFeed.setTextDirection(textDirection);
}
private void localHtmlZh() {
try {
String data = "在模拟器 2.1 上测试";
// utf-8编码处理(在SDK1.5模拟器和真实设备上都将出现乱码,SDK1.6上能正常显示)
// MyWebView.loadData(data, mimeType, encoding);
// 对数据进行编码处理(SDK1.5版本)
webView.loadData(URLEncoder.encode(data, encoding), mimeType, encoding);
// MyWebView.loadDataWithBaseURL(null, data, mimeType, encoding, null);
} catch (Exception ex) {
ex.printStackTrace();
}
}
public boolean onTouchEvent(MotionEvent event) {
if(null != this.getCurrentFocus()){
/**
* 点击空白位置 隐藏软键盘
*/
InputMethodManager mInputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
return mInputMethodManager.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(), 0);
}
return super .onTouchEvent(event);
}
}
5 个解决方案
在AndroidManifest.xml该布局的activity加上android:windowSoftInputMode="adjustResize|stateHidden"
把 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 去掉
xml改成
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
tools:cOntext="com.edittext.zedittext.MainActivity"
android:orientation="vertical">
android:layout_
android:layout_
android:orientation="vertical">
android:layout_
android:layout_
android:text="hi" />
android:layout_
android:layout_
android:src="@drawable/hb_down"
/>
android:id="@+id/social_list_feed_message_textview"
android:layout_
android:layout_
android:layout_marginRight="10dip"
android:layout_marginTop="5dip"
/>
android:layout_
android:layout_
android:src="@drawable/hb_down"
/>
android:layout_
android:layout_
android:orientation="horizontal"
android:gravity="center_vertical"
>
android:layout_
android:layout_
android:hint="请输入信息"
android:layout_weight="4"
/>
android:layout_
android:layout_weight="1"
android:layout_
android:text="post"
>
就可以了