0

Ich habe folgendes LayoutHalten Symbolleiste festgelegt und andere Ansicht nicht

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:animateLayoutChanges="true"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 

    </android.support.design.widget.AppBarLayout> 

    <ScrollView 
     android:id="@+id/scroll_view" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fillViewport="true"> 

     <!-- Content --> 

    </ScrollView> 

    <include layout="@layout/fixed_layout_when_keyboard_not_visible" /> 

</RelativeLayout> 

In AndroidManifest habe ich die android:windowSoftInputMode Satz adjustResize, die nicht ‚squeeze‘ den Inhalt, wenn Tastatur sichtbar ist und hält die Toolbar festgelegt auf Immer wenn ich scrolle. Ich habe jedoch eine andere Ansicht unten, aus der ScrollView, die ich auch behoben werden soll, aber gleichzeitig keine Inhalte blockieren, wenn die Tastatur hochspringt - jetzt bewegt es sich mit der Tastatur als der folgenden Eigenschaft layout_gravity="bottom“.

ich nur könnte die Sichtbarkeit dieses Layout wechseln, wenn Tastatur ein-/ausblenden, sondern dass die eleganteste Lösung scheint nicht. Was würden Sie vorschlagen? sollte Jede Hilfe sehr geschätzt :)

+0

Ich glaube, für die Soft-Tastatur zu hören und verstecken/zeigen die Sicht der beste Weg ist, zu erreichen, was Sie benötigen. Standardverhalten von Android ist Ether zeigen oder verbergen ganzen Inhalt. – X3Btel

Antwort

0

Sie Lösen Sie das Problem, indem Sie die ScrollView anweisen, sich nicht als Scroll-Container zu registrieren, indem Sie android:isScrollContainer="false" hinzufügen.Dieser neue ScrollView sollte wie folgt aussehen:

<ScrollView 
    android:id="@+id/scroll_view" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true" 
    android:isScrollContainer="false"> 

     <!-- Content --> 

</ScrollView> 
+0

Würde Inhalt nicht unter der Tastatur verbergen, nicht nur die enthaltene Ansicht, sondern auch Elemente der Bildlaufansicht sowie – X3Btel

+0

und Sie können zu den gewünschten Komponenten innerhalb der ScrollView blättern, und wenn das OP die Sichtbarkeit der Komponenten unterhalb der ScrollView umschalten möchte, Ich kann nur annehmen, dass sie nicht als wichtig genug erachtet werden, um ohne die Tastatur angezeigt zu werden. – BIW

+0

Hm, ich habe es probiert und leider hat sich nichts geändert. Das Layout unterhalb der ScrollView bewegt sich immer noch mit der Tastatur – Ziga

0

Try Code unten

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout 
     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:layout_width="match_parent" 
    android:orientation="vertical" 
     android:layout_height="match_parent" 
     android:animateLayoutChanges="true"> 

     <android.support.design.widget.AppBarLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" /> 

     </android.support.design.widget.AppBarLayout> 

     <ScrollView 
      android:id="@+id/scroll_view" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fillViewport="true"> 

      <!-- Content --> 

     </ScrollView> 


    </RelativeLayout> 
+0

RelativeLayout zu LinearLayout zu ändern hat leider nicht funktioniert, danke für den Hinweis :) – Ziga

Verwandte Themen