#java #android #android-edittext
#java #Android #android-edittext
Вопрос:
Я использую PreferenceActivity на вкладках и добавляю нижний колонтитул с EditText :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:foo="http://schemas.android.com/apk/res/com.assignmentexpert"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TableLayout
android:id="@ id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:shrinkColumns="2"
android:stretchColumns="0"
>
<TableRow
android:id="@ id/tableRow1"
style="@style/text_row"
android:layout_weight="1"
>
<com.customitems.CustomEditText
android:id="@ id/taskText"
style="@style/custom_edittext"
android:gravity="top|left"
android:maxLength="8192"
android:layout_marginLeft= "25dp"
android:layout_height="110dp"
android:imeOptions="actionDone"
android:layout_weight="1"
android:layout_width="fill_parent"
android:scrollbars = "vertical"
android:layout_marginRight="10dp"
foo:customFont="Roboto-Regular.ttf"
android:hint="@string/hint_assignment_task"/>
</TableRow>
<TableRow android:layout_height="1px" android:background="#323232">
<TextView android:layout_span="1" android:layout_height="1px"
android:layout_width="fill_parent" android:text="">
</TextView>
</TableRow>
<TableRow
android:id="@ id/tableRow1"
style="@style/text_row"
android:layout_weight="1"
>
<com.customitems.CustomEditText
android:id="@ id/taskSpecReq"
style="@style/custom_edittext"
android:gravity="top|left"
android:maxLength="8192"
android:layout_marginLeft= "25dp"
android:layout_height="110dp"
android:imeOptions="actionDone"
android:layout_weight="1"
android:layout_width="fill_parent"
android:scrollbars = "vertical"
android:layout_marginRight="10dp"
foo:customFont="Roboto-Regular.ttf"
android:hint="@string/hint_assignment_specific_requirements"/>
</TableRow>
</TableLayout>
</LinearLayout>
Итак, когда я использую длинный щелчок по taskTest
EditText, появляется функция копирования / вставки / вырезания и работает должным образом. Но когда я долго нажимаю на taskSpecReq
панель копирования / вставки / вырезания my task specreq, и вкладки исчезают с экрана.
taskSpecReq
Находится в нижней части экрана.
Длительное нажатие на 1-й EditText :
Длительное нажатие на 2-й EditText:
Ответ №1:
Поскольку я использовал TabHost и вложенную в него активность, я решил ее с помощью
android:windowSoftInputMode="stateUnspecified"
для TabActivity и для вложенной активности :
android:windowSoftInputMode = "adjustResize"
Это решило мою проблему.
Ответ №2:
Похоже, что система может прокручивать ваш вид, чтобы убедиться, что CustomEditText
курсор виден над программной клавиатурой, и поэтому прокручивает верхнюю часть экрана. Проверьте android:windowSoftInputMode
атрибут для вашей активности в вашем AndroidManifest.xml
, описанном здесь.
(Простой способ подтвердить, так ли это, — просто переключить два ваших CustomEditText
виджета. Если проблема всегда возникает с нижней, то это может быть она.)
Комментарии:
1. Использование @RikkiTikkiTavi не
adjustPan
вызвало бы проблему?2. Я не знаю. adjustPan работает хорошо, чтобы правильно сфокусировать EditText. Потому что без этого программная клавиатура действует странно.