1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/JackieFu-smartrefreshlayout

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README_EN.md

См. так много крутых заголовков, разве это не здорово?

На данный момент вы можете быть обеспокоены тем, что так много заголовков вместе, но обычно используется только один, не приведёт ли это к большому количеству бесполезного кода и ресурсов?

Пожалуйста, будьте уверены, я разделил их на восемь пакетов, когда вы будете использовать их для своих ссылок!

  • refresh-layout-kernel — ядро;
  • refresh-header-classics — ClassicsHeader;
  • refresh-header-radar — BezierRadarHeader;
  • refresh-header-falsify — FalsifyHeader;
  • refresh-header-material — MaterialHeader;
  • refresh-header-two-level — TwoLevelHeader;
  • refresh-footer-ball — BallPulseFooter;
  • refresh-footer-classics — ClassicsFooter.

Использование

1. Добавьте зависимость Gradle.

Версия 2.x изменила имя пакета относительно версии 1.x, например, com.scwang.smartrefresh на com.scwang.smart.refresh. Рекомендуется в новом проекте, если старый проект обновляется, заменить имя пакета, что более проблематично. Но основное изменение заключается в субподряде SmartRefreshLayout для уменьшения ненужных зависимостей и избежания избыточности кода. Однако субподряд для SmartRefreshHeader отсутствует. В нём более десяти заголовков. Рекомендуется копировать исходный код в проект всякий раз, когда вам нужно его использовать.

// Примечание: после субподряда не будет Header и Footer по умолчанию. Его необходимо добавить вручную!
implementation  'com.scwang.smart:refresh-layout-kernel:2.0.1'      //core
implementation  'com.scwang.smart:refresh-header-classics:2.0.1'    //ClassicsHeader
implementation  'com.scwang.smart:refresh-header-radar:2.0.1'       //BezierRadarHeader
implementation  'com.scwang.smart:refresh-header-falsify:2.0.1'     //FalsifyHeader
implementation  'com.scwang.smart:refresh-header-material:2.0.1'    //MaterialHeader
implementation  'com.scwang.smart:refresh-header-two-level:2.0.1'   //TwoLevelHeader
implementation  'com.scwang.smart:refresh-footer-ball:2.0.1'        //BallPulseFooter
implementation  'com.scwang.smart:refresh-footer-classics:2.0.1'    //ClassicsFooter

<!-- // Имя пакета com.scwang.smartrefresh сохранено, но не субподряжено. -->
<!-- implementation 'com.scwang.smartrefresh:SmartRefreshHeader:2.0.1'   //Headers -->
<!-- implementation 'com.scwang.smartrefresh:SmartRefreshFooter:2.0.1'   //Footers -->
<!-- implementation 'com.scwang.smartrefresh:SmartRefreshLayout:2.0.1'   //core、 default Header and Footer -->

Если вы используете AndroidX, добавьте его в gradle.properties

android.useAndroidX=true android.enableJetifier=true


#### 2. Добавьте SmartRefreshLayout в XML-макет.
```xml
<?xml version="1.0" encoding="utf-8"?>
<com.scwang.smart.refresh.layout.SmartRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/refreshLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.scwang.smart.refresh.header.ClassicsHeader
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:overScrollMode="never"
        android:background="#fff" />
    <com.scwang.smart.refresh.footer.ClassicsFooter
        android:layout_width="match_parent"
``` **3. Кодинг в активити или фрагменте**

```java
RefreshLayout refreshLayout = (RefreshLayout) findViewById(R.id.refreshLayout);
refreshLayout.setRefreshHeader(new ClassicsHeader(this));
refreshLayout.setRefreshFooter(new ClassicsFooter(this));

refreshLayout.setOnRefreshListener(new OnRefreshListener() {
    @Override
    public void onRefresh(RefreshLayout refreshlayout) {
        refreshlayout.finishRefresh(2000/*,false*/);//передаём false, чтобы указать на неудачное обновление
    }
});

refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
    @Override
    public void onLoadMore(RefreshLayout refreshlayout) {
        refreshlayout.finishLoadMore(2000/*,false*/); //передаём false, чтобы указать на неудачную загрузку
    }
});

Использование указанных Header и Footer

1. Глобальные настройки

public class App extends Application {
    public void onCreate() {
        super.onCreate();
        SmartRefreshLayout.setDefaultRefreshHeaderCreator(new DefaultRefreshHeaderCreator() {
                @Override
                public RefreshHeader createRefreshHeader(Context context, RefreshLayout layout) {
                    return new ClassicsHeader(context).setSpinnerStyle(SpinnerStyle.Translate);
                }
            });
        
        SmartRefreshLayout.setDefaultRefreshFooterCreator(new DefaultRefreshFooterCreator() {
                @Override
                public RefreshFooter createRefreshFooter(Context context, RefreshLayout layout) {
                    return new ClassicsFooter(context).setSpinnerStyle(SpinnerStyle.Translate);
                }
            });
    }
}

Обратите внимание: этот метод имеет самый низкий приоритет.

2. Указание в XML-файле макета

<com.scwang.smart.refresh.layout.SmartRefreshLayout
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/refreshLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#444444"
    app:srlPrimaryColor="#444444"
    app:srlAccentColor="@android:color/white"
    app:srlEnablePreviewInEditMode="true">
    <!--srlAccentColor и srlPrimaryColor изменят цвета темы Header и Footer-->
    <!--srlEnablePreviewInEditMode позволяет открыть и закрыть функцию предварительного просмотра-->
    <com.scwang.smart.refresh.header.ClassicsHeader
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="@dimen/dimenPaddingCommon"
        android:background="@android:color/white"
        android:text="@string/description_define_in_xml"/>
    
    <com.scwang.smart.refresh.footer.ClassicsFooter
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</com.scwang.smart.refresh.layout.SmartRefreshLayout>

Обратите внимание: у этого метода средний приоритет. При использовании этого метода в Android Studio будет эффект предварительного просмотра.

3. Указание в Java-коде

final RefreshLayout refreshLayout = (RefreshLayout) findViewById(R.id.refreshLayout);

refreshLayout.setRefreshHeader(new MaterialHeader(this).setShowBezierWave(true));
refreshLayout.setRefreshFooter(new BallPulseFooter(this).setSpinnerStyle(SpinnerStyle.Scale));
``` **Имя, оно будет записано в список**  
[Список пожертвований](art/md_donationlist.md)  

#### Blogroll  
[github/Loror](https://github.com/Loror)  
[github/faith-hb/WidgetCase](https://github.com/faith-hb/WidgetCase)  
[github/Bamboy120315/Freedom](https://github.com/Bamboy120315/Freedom)  
[github/TommyLemon/APIJSON](https://github.com/TommyLemon/APIJSON)  
[github/dengyuhan](https://github.com/dengyuhan)  
[github/zrp2017](https://github.com/zrp2017)  
[github/fly803/BaseProject](https://github.com/fly803/BaseProject)  
[github/razerdp](https://github.com/razerdp)  
[github/SuperChenC/s-mvp](https://github.com/SuperChenC/s-mvp)  
[github/KingJA/LoadSir](https://github.com/KingJA/LoadSir)  
[github/jianshijiuyou](https://github.com/jianshijiuyou)  
[github/zxy198717](https://github.com/zxy198717)  
[github/addappcn](https://github.com/addappcn)  
[github/RainliFu](https://github.com/RainliFu)  
[github/sugarya](https://github.com/sugarya)  
[github/stormzhang](https://github.com/stormzhang)  

## Discuss  

Свяжитесь со мной: scwang90@hotmail.com  

## Thanks  
[SwipeRefreshLayout](https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html)  
[Ultra-Pull-To-Refresh](https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh)  
[TwinklingRefreshLayout](https://github.com/lcodecorex/TwinklingRefreshLayout)  
[BeautifulRefreshLayout](https://github.com/android-cjj/BeautifulRefreshLayout)

## Other Works  
[MultiWaveHeader](https://github.com/scwang90/MultiWaveHeader)  
[SmartRefreshHorizontal](https://github.com/scwang90/SmartRefreshHorizontal)  

License  
-------  

    Copyright 2017 scwang90  

    Licensed under the Apache License, Version 2.0 (the "License");  
    you may not use this file except in compliance with the License.  
    You may obtain a copy of the License at  

       http://www.apache.org/licenses/LICENSE-2.0  

    Unless required by applicable law or agreed to in writing, software  
    distributed under the License is distributed on an "AS IS" BASIS,  
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
    See the License for the specific language governing permissions and  
    limitations under the License.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Компонент инициализации ОС Хунмэн из Android f094d87ce10858f9c37fa80deec8e09d26771d88. Расширить Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/JackieFu-smartrefreshlayout.git
git@gitlife.ru:oschina-mirror/JackieFu-smartrefreshlayout.git
oschina-mirror
JackieFu-smartrefreshlayout
JackieFu-smartrefreshlayout
master