2013-04-01 4 views
1

PhoneGap을 사용하여 애플리케이션을 개발 중이며 소프트 입력 키보드가 제대로 작동하지 않습니다. 현재로서는 android:windowSoftInputMode="adjustPan" (크기 변경)을 사용해 보았습니다. 또한 내 main.java에 getWindow().setFlags(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN, WindowManager.LayoutParams.SOFT_INPUT_MASK_ADJUST);을 작성하려고했습니다.PhoneGap을 사용하는 Android 애플리케이션에서 키보드가 이동하지 않습니다.

Google 그룹 https://groups.google.com/forum/?fromgroups=#!topic/phonegap/YFmIeUJBnvQ에서 비슷한 문제가 발견되어 그 문제가 해결되었지만 해결책은 저를위한 것이 아닙니다. 어쩌면 내 코드에는 뭔가 잘 보이지 않을 수도 있습니다. 다음과 같이 내 XML은 다음과 같이

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.Comp.Sandbox" android:versionName="1.1" android:versionCode="5"> 

<supports-screens 
    android:largeScreens="true" 
    android:normalScreens="true" 
    android:smallScreens="true" 
    android:xlargeScreens="true" 
    android:resizeable="true" 
    android:anyDensity="true" 
    /> 

<uses-permission android:name="android.permission.CAMERA" /> 
<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.RECEIVE_SMS" /> 
<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-permission android:name="android.permission.RECORD_VIDEO"/> 
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
<uses-permission android:name="android.permission.READ_CONTACTS" /> 
<uses-permission android:name="android.permission.WRITE_CONTACTS" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.BROADCAST_STICKY" /> 

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17"/> 
<application android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:hardwareAccelerated="true" 
    android:debuggable="true"> 
    <activity android:name="Sandbox" 
      android:label="@string/app_name" 
      android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
      android:configChanges="keyboardHidden|keyboard|locale" 
      android:windowSoftInputMode="adjustPan" 
      android:hardwareAccelerated="true" 
      android:screenOrientation="landscape"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

내 main.java 파일은 다음과 같습니다 사전에

public class Sandbox extends DroidGap 
{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 

     super.setIntegerProperty("splashscreen", R.drawable.splash); 

     getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

     getWindow().setFlags(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN, WindowManager.LayoutParams.SOFT_INPUT_MASK_ADJUST); 

     getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED); 

     super.loadUrl("file:///android_asset/www/index.html",5000); 
    } 
} 

감사합니다!

답변

2

새로운 프로젝트를 만들면서 한 줄에 코드를 추가하기 시작했습니다. 당신은 전체 화면 테마를 설정할 때 분명히 특정 장치에 android:windowSoftInputMode="adjustPan"에 문제가 어느 주 된 .java 파일에

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);와 AndroidManifext.xml

에서

또는 활동에 대한

android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"

관련 문제