2017-01-09 9 views
0

У меня есть viewpager, который содержит макет с scrollview как родительский и webview как child.I никогда не сталкивался с проблемой с портретным режимом, однако в ландшафтном режиме это действует очень странно.Проблема с прокруткой Android в прокрутке с помощью viewpager

На экране снимается высота портрета (который я тоже предполагаю) в ландшафте. Таким образом, при прокрутке вниз активируется scrollview.

Если я заблокирую касание, положив requestDisallowInterceptTouchEvent(true);, но если я сделаю это, я не смогу перейти на следующую страницу.

Я дал следующее configChanges

android:configChanges="keyboardHidden|orientation|screenSize" 

Вот мой основной XML-код

<?xml version="1.0" encoding="utf-8"?><ScrollView 
android:id="@+id/nestedScrollView" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:fillViewport="true"> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:id="@+id/topMostLayout"> 
    <RelativeLayout 
     android:id="@+id/topbarlayout" 
     android:layout_width="match_parent" 
     android:layout_height="43dp" 
     android:background="@android:color/white"> 
    </RelativeLayout> 



<View 
     android:layout_width="match_parent" 
     android:layout_height="2dp" 
     android:background="@android:color/darker_gray" 
     android:layout_marginBottom="4dp" /> 
    <com.mango.expert.utils.FullCard_ShadowLayout 
     android:id="@+id/activity_shadow_layout" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     app:sl_cornerRadius="7dp" 
     app:sl_shadowColor="@color/shadow"> 
     <FrameLayout 
      android:id="@+id/dummyLayoutForViewPager" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      > 
<LinearLayout 
       android:id="@+id/dummyLinearLayout" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:orientation="vertical" 
       android:layout_margin="2dp" 
       android:background="@drawable/for_full_card_bg" > 
      </LinearLayout> 
     </FrameLayout> 
    </com.mango.expert.utls.FullCard_ShadowLayout> 

<android.support.v4.view.ViewPager 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/view_pager" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:layout_weight="1"> 

</android.support.v4.view.ViewPager> 

Некоторые теги отсутствуют, я нахожу, что трудности в склеивании XML here.xml полностью прекрасен. Любая помощь будет действительно great.Forgot упомянуть, что WebView в фрагменте и Scrollview в основной раскладке

+0

Там нет необходимости добавлять WebView внутри Scrollview – Mrinmoy

+0

Если я удалить Scrollview я не в состоянии видеть полное содержание в ландшафтном режиме – venky

ответ

1

Вам не нужно реализовать Scrollview для WebView. У этого уже есть эта функция.

+0

Я попробовал это, удалив scrollview, но я не могу увидеть полный контент в ландшафтном режиме, так как его высота портрета для пейзажа – venky

+1

Я думаю, что вы не применили высоту как «match_parnet» в вашем XML-файле. – bharat7777

+0

, я дал match_parent – venky

0

Включить NestedScrolling нижестоящего макета:

parent.setNestedScrollingEnabled(true); 

или обернуть всю раскладку внутри NestedScrollView:

<android.support.v4.widget.NestedScrollView 
     android:id="@+id/nScrollView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fillViewport="true"> 

     <FrameLayout ...> 
      <ViewPager ... /> 
     </FrameLayout > 
    </android.support.v4.widget.NestedScrollView> 
+0

Спасибо за ваш ответ, я попробую его и дам вам знать – venky

+0

К сожалению, не работал, он блокировал обычную прокрутку веб-страниц и в портретном режиме – venky

+0

Можете ли вы вставить свой XML-код с вопросом? –