Material 風格的ViewPager庫:MaterialViewPager
介紹:
易于使用的Material 風格的ViewPager庫
運行效果:

使用說明:
APK下載 : Link
從實際效果來看,還有改進的空間
油Tube 演示視頻: 油Tube Link
將MaterialViewPager添加到activity的布局中
<com.github.florent37.materialviewpager.MaterialViewPager android:id="@+id/materialViewPager" android:layout_width="match_parent" android:layout_height="match_parent" app:viewpager_logo="@layout/header_logo" app:viewpager_logoMarginTop="100dp" app:viewpager_color="@color/colorPrimary" app:viewpager_headerHeight="200dp" app:viewpager_hideLogoWithFade="true" app:viewpager_hideToolbarAndTitle="true" app:viewpager_enableToolbarElevation="true" />
這樣就可以在 Android Studio 看到預覽效果:
像普通的view一樣通過findView獲得:
public class MainActivity extends ActionBarActivity { private MaterialViewPager mViewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mViewPager = (MaterialViewPager) findViewById(R.id.materialViewPager); } }
自定義
首先是顏色和高度
<com.github.florent37.materialviewpager.MaterialViewPager android:id="@+id/materialViewPager" android:layout_width="match_parent" android:layout_height="match_parent" ... app:viewpager_color="@color/colorPrimary" app:viewpager_headerHeight="200dp" ... />
設置logo
<com.github.florent37.materialviewpager.MaterialViewPager ... app:viewpager_logo="@layout/header_logo" <-- look custom logo layout app:viewpager_logoMarginTop="100dp" <-- look at the preview ... />
Titlebar Logo
logo的高度必須是
-
layout_height="@dimen/materialviewpager_logoHeight"
header_logo.xml
<ImageView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/logo_white" android:layout_width="200dp" android:layout_height="@dimen/materialviewpager_logoHeight" android:fitsSystemWindows="true" android:adjustViewBounds="true" android:layout_centerHorizontal="true" android:src="@drawable/logo_white" />
<com.github.florent37.materialviewpager.MaterialViewPager` ... app:viewpager_hideLogoWithFade="false" ... />
Fading Logo
header_logo.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="80dp" android:layout_height="80dp" android:layout_centerHorizontal="true" android:background="@drawable/circle"> <ImageView android:layout_width="30dp" android:layout_height="30dp" android:fitsSystemWindows="true" android:adjustViewBounds="true" android:layout_gravity="center" android:src="@drawable/flying" /> </FrameLayout>
<com.github.florent37.materialviewpager.MaterialViewPager` ... app:viewpager_hideLogoWithFade="true" ... />
oolbar 動畫
隱藏Logo 和 Toolbar
<com.github.florent37.materialviewpager.MaterialViewPager` ... app:hideToolbarAndTitle="true" ... />
Sticky Toolbar
<com.github.florent37.materialviewpager.MaterialViewPager` ... app:hideToolbarAndTitle="false" ... />
自定義 Tab Bar
你可以設置自己的tab bar,默認提供了兩種實現:
標準的
<com.github.florent37.materialviewpager.MaterialViewPager` ... app:viewpager_pagerTitleStrip="@layout/material_view_pager_pagertitlestrip_standard" ... />
News Stand
<com.github.florent37.materialviewpager.MaterialViewPager` ... app:viewpager_pagerTitleStrip="@layout/material_view_pager_pagertitlestrip_newstand" ... />
或者自己創建 Tab Bar
使用 PagerSlidingTabStrip
my_tabs.xml
<com.astuetz.PagerSlidingTabStrip 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:id="@id/materialviewpager_pagerTitleStrip" android:layout_width="match_parent" android:layout_height="match_parent" app:pstsPaddingMiddle="true" app:pstsDividerPadding="20dp" app:pstsIndicatorColor="#FFF" app:pstsIndicatorHeight="2dp" app:pstsShouldExpand="true" app:pstsTabPaddingLeftRight="10dp" app:pstsTextAllCaps="true" tools:background="#A333" />
別忘了加上 id="@id/materialviewpager_pagerTitleStrip"
<com.github.florent37.materialviewpager.MaterialViewPager` ... app:viewpager_pagerTitleStrip="@layout/my_tabs" ... />
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!