Android 开源组件,带分类 Tag 的 ViewPager - ViewTager

android Apr 16, 2017

项目链接: https://github.com/auv1107/ViewTager


一个带分类 TagViewPager,因此命名为 ViewTager

在目前流行的 APP 中应用很多,比如

网易新闻 触宝输入法
Alt text Alt text

1. 结构

Alt text

2. 用法

2.1 引用

# 项目 build.gradle

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}


# 模块 build.gradle

dependencies {
    compile 'com.github.auv1107:ViewTager:a73de7facf'
}

2.2 添加布局

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    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:layout_width="match_parent"
    android:layout_height="match_parent" tools:context="com.sctdroid.app.sample.MainActivity">

    <com.sctdroid.app.viewtager.ViewTager
        android:id="@+id/view_tager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</FrameLayout>

2.3 初始化数据

主要使用两个方法添加适配器

ViewTager viewTager = (ViewTager) findViewById(R.id.view_tager);
viewTager.setRadioGroupAdapter(new RadioAdapter(){
	...
});
mViewTager.setViewPagerAdapter(new PagerAdapter() {
	...
});

RadioAdapter 对应 分类列表数据
PagerAdapter 对应 单页 ViewPager 数据

重点RadioAdapterPagerAdapter 数量要一致。

3. 效果

Alt text

4. 其它方法说明

方法 说明
setViewPagerHeightDelegate(ViewHeightDelegate): void ViewTagerScrollView 中, 可能需要自己设定ViewPager 的高度
setViewPagerOnPageChangeListener: void 用户OnPageChange 事件
/* 看板娘 */