깔끔한 드롭다운 새로 고침 구성 요소 추천

2456 단어

구성 요소 소개


아주 간단한 구성 요소로 핵심 코드는 사용자 정의 View일 뿐이고 코드는 500줄을 넘지 않으며 이벤트 분배와 View 스크롤 메커니즘을 배우는 데 좋은 선택이다.코드는 비교적 적지만 완전한 기능을 제공했다.

특징

  • 드롭다운 플러시와 업로드를 동시에 지원합니다.
  • 터치 자동 로드 지원;
  • 일반 View 지원
  • 사용자 정의 머리와 밑부분 레이아웃 지원;

  • 묘사

  • 이 구성 요소는 모든 View에 하단과 상단 마운트 기능을 제공합니다. 구체적으로 어떤 모드를 사용하면 모드 속성을 설정해서 실현할 수 있습니까?
     //              
     MODE_DISABLE(0),
     
     //       
     MODE_REFRESH(1),
     
     //       
     MODE_LOAD_MORE(2),
     
     //              
     MODE_BOTH(3);
    
  • AbsListView(예를 들어ListView,GridView)와RecycleView에 터치 로드 메커니즘을 제공하여 mSupportedTouchBottomLoad를 설정하여 오픈을 실현하고 기본적으로 오픈 상태입니다.
  • 예시 코드를 통해ListView,GridView,ScrollView,WebView,RecycleView,ViewPager,TextView를 테스트하였는데 모두 정상적으로 작동할 수 있다.
  • 이 구성 요소는 머리와 밑부분 레이아웃을 사용자 정의하는 기능을 제공하여 감청 설정을 통해 실현할 수도 있고 Refresh Layout을 다시 써서 통일된 스타일의 리셋 구성 요소를 실현할 수도 있다.refreshLayout.set OnRefresh Listener(new Refresh Layout.on Refresh Listener() {@Override public void on Refresh(View headerView) {//새로 고침 중인 레이아웃 스타일 설정}
     @Override
     public void onLoad(View footerView) {
     	//             
     }
    
    })

  • RefreshLayout에서 여러 가지 방법을 재작성하여 일관된 스타일의 새 구성 요소를 만듭니다.
    public class MyRefreshLayout extends RefreshLayout {
    
    	public MyRefreshLayout(Context context) {
    		super(context);
    	}
    
    	public MyRefreshLayout(Context context, @Nullable AttributeSet attrs) {
    		super(context, attrs);
    	}
    
    	public MyRefreshLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
    		super(context, attrs, defStyleAttr);
    	}
    
    	@Override
    	protected void addHeaderViewAndFooterView() {
    		mHeaderView = View.inflate(getContext(), R.layout.item_my_header_layout, null);
    		mFooterView = View.inflate(getContext(), R.layout.item_my_footer_layout, null);
    		addView(mHeaderView, 0);
    		addView(mFooterView, getChildCount());
    	}
    
    	@Override
    	protected void showRefreshingLayout() {
    		
    	}
    
    	@Override
    	protected void showLoadingLayout() {
    		
    	}
    
    	@Override
    	protected void refreshingComplete() {
    		
    	}
    
    	@Override
    	protected void loadingComplete() {
    		
    	}
    
    	@Override
    	protected void resetRefreshLayout() {
    		
    	}
    
    	@Override
    	protected void resetLoadMoreLayout() {
    		
    	}
    }
    

    소스 주소:


    SimpleRefresh

    좋은 웹페이지 즐겨찾기