网上找了一堆方法, 设置windowSoftInputMode什么的, 都实现不了, 下面链接说的比较靠谱(因为我也是做的PDA), 可是, 没用
这是我的MainApplication.java代码
package com.pda;
import android.app.Application;
import android.util.Log;
import android.widget.EditText;
import java.lang.reflect.Method;
import com.facebook.react.ReactApplication;
import com.zphhhhh.speech.SpeechPackage;
import im.shimo.react.cookie.CookieManagerPackage;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
import com.facebook.stetho.Stetho;
import okhttp3.OkHttpClient;
import com.facebook.stetho.okhttp3.StethoInterceptor;
import java.util.Arrays;
import java.util.List;
public class MainApplication extends Application implements ReactApplication {
private EditText editText;
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new SpeechPackage(),
new CookieManagerPackage()
);
}
@Override
protected String getJSMainModuleName() {
return "index";
}
};
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
@Override
public void onCreate() {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
Stetho.initializeWithDefaults(this);
initOkHttp();
disableShowSoftInput();
}
private void initOkHttp() {
new OkHttpClient.Builder()
.addNetworkInterceptor(new StethoInterceptor())
.build();
}
/**
* 设置展示光标弹不弹出系统键盘
*/
private void disableShowSoftInput() {
Class<EditText> cls = EditText.class;
Method method;
try {
method = cls.getMethod("setShowSoftInputOnFocus", boolean.class);
method.setAccessible(true);
method.invoke(editText, false);
} catch (Exception e) {
Log.e("setShowSoftInputOnFocus", e.toString());
}
try {
method = cls.getMethod("setSoftInputShownOnFocus", boolean.class);
method.setAccessible(true);
method.invoke(editText, false);
} catch (Exception e) {
Log.e("SoftInputShownOnFocus", e.toString());
}
}
}
AndroidManifest.xml代码
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.pda"
android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="22" />
<application
android:name=".MainApplication"
android:allowBackup="true"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>
</manifest>
麻烦知道的大哥说声, 感谢万分!!!
https://segmentfault.com/a/11...