Android材料加载进度条制作代码

  

最近看了几款应用的加载进度都是这种风格,感觉还不错,在网上找了一些资料,自己小练兵了一把:

  

 Android材料加载进度条制作代码

  

主要运用的开源框架:
/ViewPagerIndicator_library 主要就是标签页切换指示器
/ptr-lib进度条下载地址:https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh

  

<强>一、使用方法
  

  

布局文件
  

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt; LinearLayout xmlns: android=" http://schemas.android.com/apk/res/android "   android: layout_width=" match_parent "   android: layout_height=" match_parent "   android:背景=" @color/bg_color”   面向android:=按怪薄北?      & lt; in.srain.cube.views.ptr.PtrFrameLayout   xmlns: cube_ptr=" http://schemas.android.com/apk/res-auto "   android: id=癅 + id/material_style_ptr_frame”   android: layout_width=" match_parent "   android: layout_height=" match_parent "   cube_ptr: ptr_duration_to_close=" 100 "   cube_ptr: ptr_duration_to_close_header=" 100 "   cube_ptr: ptr_keep_header_when_refresh=" true "   cube_ptr: ptr_pull_to_fresh=" false "   cube_ptr: ptr_ratio_of_header_height_to_refresh=" 1.2 "   cube_ptr: ptr_resistance=" 1.7 "比;      & lt;列表视图   android: id=癅 + id/article_listview”   android: layout_width=" match_parent "   android: layout_height=" match_parent "   android: cacheColorHint=" # 00000000 "   android:分频器=" @color/线”   android: dividerHeight=" 10 dp/比;   & lt;/in.srain.cube.views.ptr.PtrFrameLayout>      & lt;/LinearLayout>      

在java代码中进行控件声明,设置相关参数
  

        mPtrFrameLayout=(PtrFrameLayout) mRootView.findViewById (R.id.material_style_ptr_frame);//头   最后MaterialHeader头=new MaterialHeader (getActivity ());   int[]颜色=getresource () .getIntArray (R.array.google_colors);   header.setColorSchemeColors(颜色);   头。setLayoutParams(新PtrFrameLayout。LayoutParams (1、2));   头。setPadding (0, Utils.dip2px (getActivity (), 15), 0, Utils.dip2px (getActivity (), 10));   header.setPtrFrameLayout (mPtrFrameLayout);      mPtrFrameLayout.setPinContent(真正的);   mPtrFrameLayout.setLoadingMinTime (100);   mPtrFrameLayout.setDurationToCloseHeader (100);   mPtrFrameLayout.setHeaderView(头);   mPtrFrameLayout.addPtrUIHandler(头);   mPtrFrameLayout。setPtrHandler(新PtrHandler () {   @Override   公共布尔checkCanDoRefresh (PtrFrameLayout帧,查看内容,查看标题){   PtrDefaultHandler返回。checkContentCanBePulledDown(框架、article_listview头);   }      @Override   公共空间>   moreView=Finder.inflate (getActivity (), R.layout.loading_more_footer);   moreView.setVisibility (View.GONE);   article_listview=(视图)mRootView.findViewById (R.id.article_listview);   article_listview.addFooterView (moreView);   适配器=new ArticleListAdapter (getActivity ());   article_listview.setAdapter(适配器);   article_listview。setOnItemClickListener(新OnItemClickListener () {      @Override   公共空间onItemClick (AdapterView<& # 63;比;父,查看视图,   int位置,长id) {   篇文章=(文章)adapter.getItem(位置);   目的意图=new意图(getActivity (),   AppBrowserActivity.class);   意图。putExtra (“w_url article.getUrl ());   意图。putExtra (“share_desc article.getTitle ());   意图。putExtra (“share_pic article.getPicUrl ());   startActivity(意图);   }   });   article_listview。setOnScrollListener(新OnScrollListener () {   @Override   公共空间onScrollStateChanged (AbsListView看来,int scrollState) {//当不滚动时   如果(scrollState==OnScrollListener.SCROLL_STATE_IDLE) {//判断是否滚动到底部   如果(view.getLastVisiblePosition ()==view.getCount () - 1) {//加载更多功能的代码   moreView.setVisibility (View.VISIBLE);   pageNum + +;   doRequest (pageNum假);   }   }   }      @Override   公共空间onScroll (AbsListView视图,int firstVisibleItem   int visibleItemCount int totalItemCount) {//TODO自动生成方法存根      }   });之前      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Android材料加载进度条制作代码