【发布时间】:2015-01-09 01:55:54
【问题描述】:
我有一个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) 和 Samsung Galaxy Grand (4.1.2) 的情况有所不同
即使我在清单(单独和一起)中尝试了adjustpan 和adjustResize,但设备将editText 隐藏在键盘后面。当我在这些设备上触摸editText 时,我注意到了更多的事情。 editText 完美地出现在键盘上方,但当我开始打字时,屏幕会上下跳动,最后 editText 会出现在键盘后面。
我已经试过了:
-
android:descendantFocusability="afterDescendants"为editText -
android:focusable="true"为ediTtext -
adjustpan和adjustResize在清单中 -
stateHidden和stateVisible不是解决方案,因为我只需要在触摸请求时使用键盘。 - 在一些文章中,他们建议将视图放入
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>
【问题讨论】:
-
显示你的清单.....
-
包含有问题的清单。
-
试试这个.android:configChanges="orientation"
-
感谢您的回复。但这并不能解决问题。我无法理解为什么这个问题会出现在某些设备上,而不是所有设备上。
-
你试过
android:windowSoftInputMode="stateUnspecified|adjustPan"吗?
标签: android android-layout android-listview keyboard android-softkeyboard