24

Metin görünümünde basit bir aktiviteye ve ardından iki düzenleme metnine sahibim. Yazmaya başladığımda, yazılım klavyesi düzeni hızlandırır ve işlem çubuğunu gizler ve ben metinleri seçip kopyalayamayacağım.Soft Keyboard Hides Actionbar

Benim aktivite şöyle görünür: Normal activity view

Yazmaya başladığımda

, eylem çubuğu böyle, gizli alır - ve daha da önemlisi, normal bir kopyala yapıştır çubuğu rağmen eksik olduğunu unutmayın bir metin vurgulanır:

Missing action bar and the copy/paste bar

Eminim eylem çubuğu gizlemez yapmak için ne yapabilirim?

  • SO'dan (kaydırma görünümünü kullanma gibi) başka ipuçlarını denedim, ancak hiçbiri işe yaramadı.
  • Uygulama, Çekmece Etkinliği ile Android Studio 1.4.1 sihirbazını kullanarak oluşturulmuştur.
  • Etkinlik bildirimimde adjustPan kullanıyorum. AdjustResize kullanmak istemiyorum.

    android:windowSoftInputMode="stateAlwaysHidden|adjustPan"

Benim aktivite buradadır:

<?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> 
+0

bu http://stackoverflow.com/questions/8228514/keyboard-layout-hiding-android-action-bar adresini ziyaret edin – MHossein

+0

Teşekkürler, ancak adjustPan kullanmam gerekiyor, adjustResize. – henry000

+0

Tüm görünümleri AppBarLayout dışında bir ScrollView'de sarmayı denediniz mi? –

cevap

6

deneyin araç çubuğundaki app:layout_collapseMode="pin" ekleyerek

<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" /> 

ve EditText Set android:textIsSelectable="true" yılında kopyala/yapıştır etkinleştirmek için

daha bakmaktarihinde

+0

Merhaba, Sadece biraz açıklama için. EditText alanlarının üzerinde bulunan başka herhangi bir Görünüm durumunda ne yapmalıyız. Örneğin. EditText'in üzerinde birkaç düzenimiz var ve biz adjustPan'ı kullanmak istiyoruz.Bu durumda, EditText'i seçerken, yukarıdaki tüm görünümler yukarı hareket eder ve bazıları (ActionBar gibi) gizler. Yapmam gereken şey, EditText'in üzerinde bazı düzenleri seçmek ve başka bir yere taşınmak mı? – GensaGames

+0

Size ne demek istediğimi anlamadım ** Ne yapmalıyım, seçerek EditText üzerinde bazı düzenleri kaydetmek ve başka bir yere gitmeme izin vermeliyim? ** –

0

Araç Çubuğunu AppBarLayout içine ekleyin ve AppBarOverLay ve PopOverlay temalarını ekleyin.

<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" /> 
0

Adım 1: Her görünümden fitsSystemWindow niteliğini çıkarın ve manifest'te etkinlik etiketinde ekleyin.

Step-2: app:layout_behavior="@string/appbar_scrolling_view_behavior" Bu satırı doğrusal düzeninizden kaldırın. Bu, yukarıdaki actionbar'ı zorlayan koddur.

Bu iki adım sorunumu çözdü, Umarım size de yardımcı olur.