2015-09-15 27 views
10

ile Sayı ben bu konuda bir sorun var:android - CoordinatorLayout/NestedScrollView/Gizle-Göster Araç Çubuğu/WebView'da

Web görünümündeki I kaydırır, araç çubuğu gizli veya görünür
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/coordinatorLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/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="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways" /> 
    </android.support.design.widget.AppBarLayout> 

    <android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <WebView 
      android:id="@+id/webView" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 
    </android.support.v4.widget.NestedScrollView> 

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

(! Mükemmel) ama orada yükleme/konumlandırma web sayfaları ile ilgili bir sorundur. Örneğin, bir sayfanın ortasına kaydırırsam ve bir linke tıklarsam, yüklenecek olan yeni sayfa da sayfanın üst kısmında değil, sayfanın ortasında bulunur. Kaydırma çubukları bir sayfadan diğerine geçmiyormuş gibi.

Ben NestedScrollView için eklerseniz:

android:fillViewport="true" 

her şey webview ile çalışır (sayfa yük ve başından başlayarak her ne kadar iyi görünen) ama araç çubuğu :(

ile gizleme/göster kaybetmek

Eğer bu sorun hakkında bir fikrin var mı

Yardımlarınız :)

(bilgi için için şimdiden teşekkürler: Android Tasarım Destek Kütüphanesi : 23.0.1)

Yop

cevap

3

Benim varsayım: Eğer kaydırma bu şekilde yeni bir sayfa içinde NestedScrollView kalır yüklediğinizde WebView düzeyde yapılmazsa bir NestedScrollViewWebView koyarak yana aynı pozisyon.

Öneri: 0 olarak NestedScrollView kaydırma konumunu değiştirmek gereken bir WebViewClient oluşturmak ve burada onPageStarted geçersiz: web atlarken Evet, benim için üstüne kaydırma için çalışır

nestedScrollView.scrollTo(0, 0); 
+1

, başka konudur yüksek yükseklikten webview içeriği küçük içerik olan başka bir web görüntüsüne, altına uzun beyaz alan kaydırma sahiptir. Bunu düzeltmek için önerebilir misin? Teşekkürler. – Jawaad

+1

@Jawaad ​​Sorununuz için ayrı bir soru açarsanız, kod örneği sağlayın ve daha önce denediğinizi tanımlayın. Sorunuzla ilgili olarak: Hiyerarşi Görüntüleyicisini, sorunun yeniden boyutlandırmayı veya NestedScrollView öğesinin WebView olup olmadığını kontrol etmek için kullanırdım. Denediğin şey, sorunun çözüleceğinden emin olmamak için, NestedScrollView'da geçersiz kılmak için onPageFinished öğesinde. – Raanan