2016-01-28 2 views
1

У меня есть приложение со структурой изображения ниже (1) в моем XML. Мне нужно, чтобы вы выполняли прокрутку, приложение остается таким же, как на изображении (2). Я не знаю, как это работает красиво. КоординаторLayout, NestedScrollView ...Android - Прокрутка содержимого к верхней части экрана

Какие изменения мне нужны в моем xml, чтобы получить его? Спасибо

enter image description here

XML

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:background="@color/color_primary_dark"> 

    <include 
     android:id="@+id/fondo_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     layout="@layout/toolbar" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="200dp" 
      android:background="@color/black"> 

      <com.example.HackyViewPager 
       android:id="@+id/home_pager" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:background="@color/grey_dark"/> 

      <com.viewpagerindicator.CirclePageIndicator 
       android:id="@+id/home_indicator" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@android:color/transparent" 
       android:padding="15dp"/> 

     </RelativeLayout> 

     <include 
      android:id="@+id/home_footer" 
      layout="@layout/home_footer" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"/> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/sliding_tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@color/color_primary_dark" 
      android:elevation="0dp" 
      app:tabMode="scrollable" 
      app:tabGravity="center"/> 

     <android.support.v4.view.ViewPager 
      android:id="@+id/tabpager" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@color/grey_dark" /> 

    </LinearLayout> 

</LinearLayout> 
+0

Вы пробовали ScrollView? И что именно вы хотите прокрутить? – Stanojkovic

+0

Мне нужно RelativeLayout сверху, не исчезая – IMS

ответ

0

Do ниже вы получите примерное представление: -

<android.support.design.widget.CoordinatorLayout 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.support.design.widget.AppBarLayout 
     android:id="@+id/appbarlayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fitsSystemWindows="true" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fitsSystemWindows="true" 
      app:contentScrim="?attr/colorPrimary" 
      app:expandedTitleMarginEnd="64dp" 
      app:expandedTitleMarginStart="48dp" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 
      <com.example.HackyViewPager 
      android:id="@+id/home_pager" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="@color/grey_dark"/> 


      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       app:layout_collapseMode="pin" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

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

<android.support.v4.widget.NestedScrollView 
     android:id="@+id/scroll"> 
<!-- put your own design like Relative layout then viewpager etc --> 
</android.support.v4.widget.NestedScrollView> 
</android.support.design.widget.CoordinatorLayout> 

Это просто грубая идея, вы можете настроить его в соответствии к вашему дизайну, но не копируйте этот код, поскольку он не будет работать. Поскольку я дал этот код, чтобы дать краткую Идею, как использовать nestedScrollView и CoordinatorLayout. Для лучшего понимания вы можете проверить учебные пособия по материалу

Смежные вопросы