有些设备不遵循'adjustpan'

时间:2014-11-12 09:14:42

标签: android android-layout android-listview keyboard android-softkeyboard

我有listview。列表的每个项目(行)包含用于评论的textView和用于回复评论的editText。评论正在运行时加载。

键盘之后

EditText仍然隐藏起来。我搜索的解决方案是将adjustpan包含在manifest中的特定活动代码中。之后,我的 nexus 5(5.0),nexus S(4.1.2)和HP触摸板(4.0.3)调整了平底锅。感觉很酷。

Samsung S duos(4.0.4)和三星galaxy grand(4.1.2)的故事不同 即使我在清单中尝试adjustpanadjustResize(单独和一起)设备隐藏了键盘后面的editText。当我触摸这些设备上的editText时,我注意到了更多的事情。 editText完全位于键盘上方,但是当我开始输入时,屏幕会向下跳跃,最后editText会在键盘后面。

我已经尝试过了:

    {li> android:descendantFocusability="afterDescendants" editText {li> android:focusable="true" ediTtext 清单中的
  • adjustpanadjustResize
  • stateHiddenstateVisible不是解决方案,因为我只想触摸请求键盘。
  • 在某些文章中,他们建议在scrollView中添加观点,但实际上不可能将listview放入scrollView

我花了两天时间找出解决方案。我认为这个问题是特定于设备的。是这样吗?有人遇到过同样的问题吗?我该如何解决这个问题?

如果如下显示: (DetailViewActivity是出现问题的活动)

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/appTheme" >
    <meta-data
        android:name="android.app.default_searchable"
        android:value="com.examandroid.activities.SearchActivity" />

    <activity
        android:name=".activities.LearnaptActivity"
        android:label="@string/title_activity_learnapt" />
    <activity
        android:name=".activities.SplashActivity"
        android:label="@string/app_name"
        android:theme="@style/SplashTheme" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".activities.LoginActivity"
        android:label="@string/title_activity_login"
        android:parentActivityName=".activities.SplashActivity"
        android:theme="@style/appTheme" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.examandroid.activities.SplashActivity" />
    </activity>
    <activity
        android:name=".activities.ForgotPasswordActivity"
        android:label="@string/title_activity_forgot_password" />
    <activity
        android:name=".activities.SignupActivity"
        android:configChanges="keyboardHidden|orientation"
        android:label="@string/title_activity_signup"
        android:parentActivityName=".activities.LoginActivity" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.examandroid.activities.LoginActivity" />
    </activity>
    <activity
        android:name=".activities.MainActivity"
        android:label="@string/app_name" />
    <activity
        android:name=".activities.LessonActivity"
        android:label="@string/title_activity_lesson" />
    <activity
        android:name=".activities.SearchActivity"
        android:label="@string/title_activity_search"
        android:parentActivityName=".activities.MainActivity" >
        <intent-filter>
            <action android:name="android.intent.action.SEARCH" />
        </intent-filter>

        <meta-data
            android:name="android.app.searchable"
            android:resource="@xml/searchable" />
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.examandroid.activities.MainActivity" />
    </activity>
    <activity
        android:name=".activities.ProfileEditActivity"
        android:label="@string/title_activity_profile_edit"
        android:parentActivityName=".activities.MainActivity" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.examandroid.activities.MainActivity" />
    </activity>
    <activity
        android:name=".activities.DetailViewActivity"
        android:label="@string/title_activity_item_detail_view"
        android:windowSoftInputMode="adjustPan" >
    </activity>
    <activity
        android:name=".activities.ImageFullView"
        android:label="@string/title_activity_image_full_view" >
    </activity>
</application>

1 个答案:

答案 0 :(得分:0)

根据此adjustPan not preventing keyboard from covering EditText,你必须禁用全屏。

试试这个。 onclick edittext。

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
ActivitiesCurrentContentView.requestLayout();

参考:

adjustPan not preventing keyboard from covering EditText

android Exit from full screen mode