android - sirve - Teclado suave oculta la barra de acciones
personalizar teclado android (3)
Tengo una actividad simple con una vista de texto seguida de dos textos de edición. Cuando empiezo a escribir, el teclado virtual empuja el diseño hacia arriba y oculta la barra de acciones, y no podré seleccionar / copiar / pegar texto.
Mi actividad se ve así:
Cuando empiezo a escribir, la barra de acciones se oculta, así, y lo que es más importante, tenga en cuenta que falta la barra de copiado normal aunque se resalte un texto:
¿Qué puedo hacer para asegurarme de que la barra de acciones no se oculte?
- He intentado algunos otros consejos de SO (como el uso de la vista de desplazamiento) pero ninguno funcionó.
- La aplicación se crea con el asistente de Android Studio 1.4.1 con la Actividad del cajón.
En mi manifiesto de actividad, estoy usando adjustPan. No quiero usar adjustResize.
android:windowSoftInputMode="stateAlwaysHidden|adjustPan"
Mi actividad está aquí:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/navigation_drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/app_theme.app_bar_overlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/app_theme.popup_overlay" />
</android.support.design.widget.AppBarLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/activity_margin"
android:fillViewport="true"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:background="@android:color/darker_gray"
android:text="My holiday story here." />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/activity_margin" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/gap_normal"
android:gravity="top"
android:text="My Holiday in Europe" />
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:gravity="top"
android:text="My holiday story is blah blah blah blah blah blah blah blah blah..." />
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>
<com.magicparcel.app.mysampleapp.ui.CustomNavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/navigation_drawer_header"
app:itemIconTint="@color/app_grey_500"
app:menu="@menu/drawer_main" />
</android.support.v4.widget.DrawerLayout>
Agregue su barra de herramientas dentro de AppBarLayout y agregue los temas de AppBarOverLay y PopOverlay.
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
styles.xml
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
Intenta agregar la app:layout_collapseMode="pin"
en la barra de herramientas
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_collapseMode="pin"
app:popupTheme="@style/app_theme.popup_overlay" />
y para habilitar copiar / pegar en editText Set android:textIsSelectable="true"
busque más en https://developer.android.com/guide/topics/text/copy-paste.html
Paso-1 : fitsSystemWindow
atributo fitsSystemWindow
de cada vista y agréguelo a la etiqueta de actividad en el manifiesto.
Paso 2 : app:layout_behavior="@string/appbar_scrolling_view_behavior"
Elimina esta línea de tu diseño lineal. Este es el código que en realidad está presionando la barra de acciones de arriba.
Estos dos pasos resolvieron mi problema. Espero que te ayude también.