同步操作将从 树朾/SmartRefreshLayout 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
As the name says, SmartRefreshLayout is a "smart" or "intelligent" pull-down refresh layout,because of its "smart", it does not just support all the Views , but also support multi-layered nested view structures.
It extends from ViewGroup rather than FrameLayout or LinearLayout, this not only improves its performance, but also enables it to absorb the advantages of various refresh layouts in fashion now,Including Google official SwipeRefreshLayout、TwinklingRefreshLayout 、Ultra-Pull-To-Refresh. Also it integrates various cool Headers and Footers.
SmartRefreshLayout's goal is to build a strong, stable and mature pull-down refresh layout framework, and to integrate all kinds of cool, diverse, practical and beautiful Headers and Footers.
Feedlist | |
---|---|
Repast | Profile |
---|---|
Style | Delivery | Dropbox |
---|---|---|
Demo | ||
Design | Refresh-your-delivery | Dropbox-Refresh |
The two above headers are implemented by myself, The following headers are collected and optimized from excellent Headers on github
Style | BezierRadar | BezierCircle |
---|---|---|
Demo | ||
From | TwinklingRefreshLayout | Pull Down To Refresh |
Style | FlyRefresh | Classics |
---|---|---|
Demo | ||
From | FlyRefresh | ClassicsHeader |
Style | Phoenix | Taurus |
---|---|---|
Demo | ||
From | Yalantis/Phoenix | Yalantis/Taurus |
Style | BattleCity | HitBlock |
---|---|---|
Demo | ||
From | FunGame/BattleCity | FunGame/HitBlock |
Style | WaveSwipe | Material |
---|---|---|
Demo | ||
From | WaveSwipeRefreshLayout | MaterialHeader |
Style | StoreHouse | WaterDrop |
---|---|---|
Demo | ||
From | Ultra-Pull-To-Refresh | WaterDrop |
See so many cool headers, is not it feel great? At this point you may be worried that so many headers together, but usually only use one, is not to introduce a lot of useless code and resources?
Please rest assured that I have divided it into three packages, when used to reference their own it!
compile 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.3'
compile 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.3'//If you use the special Header
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'//(Not necessary,Can solve problems that cannot be previewed)
//alpha-version
compile 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.4-alpha-5'
compile 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.4-alpha-5'
<?xml version="1.0" encoding="utf-8"?>
<com.scwang.smartrefresh.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">
<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.smartrefresh.layout.SmartRefreshLayout>
RefreshLayout refreshLayout = (RefreshLayout)findViewById(R.id.refreshLayout);
refreshLayout.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh(RefreshLayout refreshlayout) {
refreshlayout.finishRefresh(2000);
}
});
refreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() {
@Override
public void onLoadmore(RefreshLayout refreshlayout) {
refreshlayout.finishLoadmore(2000);
}
});
public class App extends Application {
public void onCreate() {
super.onCreate();
SmartRefreshLayout.setDefaultRefreshHeaderCreater(new DefaultRefreshHeaderCreater() {
@Override
public RefreshHeader createRefreshHeader(Context context, RefreshLayout layout) {
return new ClassicsHeader(context).setSpinnerStyle(SpinnerStyle.Translate);
}
});
SmartRefreshLayout.setDefaultRefreshFooterCreater(new DefaultRefreshFooterCreater() {
@Override
public RefreshFooter createRefreshFooter(Context context, RefreshLayout layout) {
return new ClassicsFooter(context).setSpinnerStyle(SpinnerStyle.Translate);
}
});
}
}
Note: this method is the lowest priority.
<com.scwang.smartrefresh.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 and srlPrimaryColor, Will change the Header and Footer theme colors-->
<!--srlEnablePreviewInEditMode, Can open and close the preview function-->
<com.scwang.smartrefresh.layout.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/padding_common"
android:background="@android:color/white"
android:text="@string/description_define_in_xml"/>
<com.scwang.smartrefresh.layout.footer.ClassicsFooter
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
Note: this method of priority is medium。When using this method, the Android Studio will have preview effect, the following figure:
But don't worry, just a preview effect, run only the drop-down will appear.
final RefreshLayout refreshLayout = (RefreshLayout) findViewById(R.id.refreshLayout);
refreshLayout.setRefreshHeader(new MaterialHeader(this).setShowBezierWave(true));
refreshLayout.setRefreshFooter(new BallPulseFooter(this).setSpinnerStyle(SpinnerStyle.Scale));
This library does't use serialization and deserialization, JNI, reflection, so there is no need to add confusing filtering code, and it has been confusing tests pass, if you after the confusion in the use of the project appear problem, please inform me.
If you like this library's design, feel it help to you, you can point the upper right corner "Star" support Thank you! ^ _ ^
You can also scan the qr code below to ask the author to drink a cup of coffee.
If in the donation message note name, will be record to the list
Donation list
Contact me: scwang90@hotmail.com
SwipeRefreshLayout
TwinklingRefreshLayout
android-Ultra-Pull-To-Refresh
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.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。