Как избегать того, чтобы клавиатура появилась автоматически в Android?

У меня есть app с одним EditText я хочу избежать того, чтобы клавиатура появилась автоматически, покрутив активность.

Я ощущаюсь, что он не ведет себя той же формы EditText в portrait как в landscape.

EditText у меня это есть установленный мульти-линия и будь внутри одного HorizontalScrollView и ScrollView

ScrollView
   HorizontalScrollView
        EditText
1
задан 22.06.2016, 13:06
4 ответа

AГ±ade в EditText:

editText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);

Или ты можешь делать это из-за configuraciГіn в твоем manifest:

<EditText
    ... Tus definiciones
    android:imeOptions="flagNoExtractUi" 
/>
1
ответ дан 24.11.2019, 14:05
  • 1
    способ в делании этого в manifest, в aplicaci и # 243; n или activity? – Webserveis 22.06.2016, 13:13
  • 2
    @Webserveis В definci и # 243; n EditText, что конечно tendr и # 225; s в activity. Сейчас я издаю ответ. – Miquel Coll 22.06.2016, 13:15

Выбор и самый легкий раствор, чтобы мочь решать эту проблему, состоит в том, чтобы добавлять следующее внутри твоего android manifest, который менял состояние клавиатуры в скрытый и избегал того, чтобы он появился, дав clic на составной части:

<activity android:name="NombreActividad" android:windowSoftInputMode="stateHidden"></activity>
2
ответ дан 24.11.2019, 14:05

Существуют несколько растворов.

Первая применись, если ты не требуешь, чтобы твой Activity вновь строился, определи ее в AndroidManifest.xml как:

android:configChanges="orientation|keyboardHidden|screenSize" 

Вторая состоит в том, чтобы другой вид взял подход посредством android:focusable="true", как в этом случае контейнер:

<LinearLayout
    android:id="@+id/my_ll"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:background="@android:color/transparent"
    android:focusable="true"
    android:focusableInTouchMode="true">
</LinearLayout>

<EditText
    android:id="@+id/my_edittext"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:inputType="text" />

Третья, что я использую регулярно, состоит в том, чтобы добавлять в ней definiciГіn активности собственность android:windowSoftInputMode="stateAlwaysHidden":

 <activity
  ...
 android:windowSoftInputMode="stateAlwaysHidden"
  ...
  />

Сейчас я вижу четверть, используя flag flagNoExtractUi

flagNoExtractUi он Может дезактивировать способ входа FullScreen с flagNoExtractUi в признаке android: imeOptions

<EditText
    ...
    android:imeOptions="flagNoExtractUi" 
    ...
/>
3
ответ дан 24.11.2019, 14:05

Приспособленный ответ @Miquel_Coll

Обнаружил, если App бежит в таблетке, и asГ - снял способ ediciГіn законченный экран, если не только, когда он появится в горизонтальном, я скрываю клавиатуру, но позволяя она ediciГіn законченный экран.

if (GeneralUtils.isTablet())
    textArea.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
else if (GeneralUtils.isLandscape())
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
1
ответ дан 24.11.2019, 14:05

Теги

Похожие вопросы