用戶
 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

掃一掃,登錄網站

小程序社區 首頁 教程 查看內容

汉诺威96对杜塞尔多夫:仿微信下拉顯示小程序的控件(超簡單實現)

汉诺威96升级 www.wikuss.com.cn Rolan 2019-10-8 00:52

GitHub地址:https://github.com/wenwenwen888/PullLoadMoreViewPullLoadMoreView仿微信下拉顯示小程序的控件(超簡單實現)先看預覽圖(轉換后有一點點失真):前言項目需要做一個以前微信下拉顯示小程序的效果,結果Goo ...

GitHub地址:https://github.com/wenwenwen888/PullLoadMoreView

PullLoadMoreView

仿微信下拉顯示汉诺威96升级的控件(超簡單實現)

先看預覽圖(轉換后有一點點失真):

前言

  1. 項目需要做一個以前微信下拉顯示小程序的效果,結果Google百度過并沒有找到很多的開源庫。而且實現方式還挺復雜,或者不適用于自己(大多數為需要ListView實現)

  2. 該庫主要參考這篇文章 ,實現的原理大家看這篇文章就好了,感謝該Po

  3. 在該篇文章的前提下,一共作出了以下修改

    • 把Kotlin改為了Java
    • 把可滑動控件的主布局改為了NestedScrollView(原文為ListView),按照原理,你可以改為任意一個可滑動的控件(但是需要您親自下載library修改)
    • 一些代碼的優化,譬如
      • NestedScrollView的布局直接在xml里實現
      • 接口的添加和優化,使得更加方便
  4. 需要修改更多內容的可以下載library自行修改

  5. 有不妥之處請Issues指出,謝謝

Usage

With Gradle:

  implementation 'com.wenwenwen888:pullloadmoreview:1.1.0'

How to use(直接clone項目查看demo更加直觀哦)

一:xml主布局配置

 <?xml version="1.0" encoding="utf-8"?>
<com.wenwenwen.view.PullLoadMoreView xmlns:android="//schemas.android.com/apk/res/android"
    xmlns:app="//schemas.android.com/apk/res-auto"
    android:id="@+id/pullLoadMoreView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:top_background_color="#fff">

    <android.support.v4.widget.NestedScrollView
        android:id="@+id/nestedScrollview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

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

            <TextView
                android:layout_width="match_parent"
                android:layout_height="300dp"
                android:gravity="center"
                android:text="test1" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="300dp"
                android:gravity="center"
                android:text="test2" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="300dp"
                android:gravity="center"
                android:text="test3" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="300dp"
                android:gravity="center"
                android:text="test4" />

        </LinearLayout>

    </android.support.v4.widget.NestedScrollView>

</com.wenwenwen.view.PullLoadMoreView>
//此配置為頂部布局的背景顏色
app:top_background_color="#fff"

二: 頭部xml的配置

//添加頭部布局
pullLoadMoreView.addHeadView(R.layout.top_layout);

三:可設置回調監聽

//添加監聽滑動布局的open/close
pullLoadMoreView.setViewStateListener(new PullLoadMoreView.ViewStateListener() {
    @Override
    public void onViewState(PullLoadMoreView.VIewState viewState) {
        if (viewState == PullLoadMoreView.VIewState.OPEN) {
            Toast.makeText(MainActivity.this, "Open", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(MainActivity.this, "Close", Toast.LENGTH_SHORT).show();
        }
    }
 });

GitHub地址:https://github.com/wenwenwen888/PullLoadMoreView

分享至 : QQ空間
收藏