2015-09-15 15 views
10

との問題、私はそれに問題がある:アンドロイド - CoordinatorLayout/NestedScrollView /非表示 - ツールバーを表示/ WebViewの

のWebViewでIスクロールは、ツールバーを非表示または表示され
<?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> 

(!完璧)が、そこロード/ポジショニングウェブページの問題です。 たとえば、ページの中央にスクロールしてリンクをクリックすると、ロードされる新しいページは、ページのほぼ中央に位置することになります。スクロールバーがあるページから別のページに移動していないかのように

私はNestedScrollViewに追加した場合:

android:fillViewport="true" 

すべてがWebViewので動作します(上から順ものの、ページがロードしても表示されます)が、私は、ツールバーに表示/非表示を失う:(

は、あなたがこの問題についてどんな考えを持っていますか

はあなたの助けのために事前にありがとうございます:)

(詳細については:?アンドロイドデザインサポートライブラリを:23.0.1)

ヨップ

答えて

3

私の仮定: あなたはWebViewNestedScrollView内のスクロールがWebViewレベルで行われていないにでますので、新しいページをロードNestedScrollView滞在を入れているので、同じ位置。

提案: はあなたが0にNestedScrollViewのスクロール位置を変更する必要がありWebViewClientを作成し、ここにonPageStartedを上書き:ウェブをジャンプするときはい、私にとってはこれが一番上にスクロールするために働く

nestedScrollView.scrollTo(0, 0); 
+1

、別の問題があります高さの高いウェブビューから別のウェブビューへのコンテンツは小さなコンテンツですが、下部に長い空白のスクロールがあります。これを修正することを提案できますか?ありがとう。 – Jawaad

+1

@ Jawaadあなたの問題について別個の質問を開き、コードサンプルを提供し、あなたがすでに試したことを説明する方が良いでしょう。あなたの質問について: 私は、階層ビューアを使用して、問題がWebViewのリサイズでないか、NestedScrollViewであるかどうかを確認します。 あなたが試みることができるのは、NestedScrollViewでinvalidateを呼び出すonPageFinishedで、問題が解決するかどうかはわかりません。 – Raanan

関連する問題