Android 는 SwipeRefreshLayout 컨트롤 을 사용 하여 틱 톡 으로 만 든 동 영상 드 롭 다운 새로 고침 효 과 를 모방 합 니 다.

Swipe Refresh Layout(이 컨트롤),제 가 먼저 이 컨트롤 을 소개 하 겠 습 니 다.
1.SwipeRefreshLayout 에 대한 간단 한 소개
•다음 공식 문 서 를 먼저 보 세 요.상세 한 설명 이 있 습 니 다.

공식 문서 설명
•여기 서 대충 설명 하 겠 습 니 다.
•세로 로 미 끄 러 질 때 페이지 를 새로 고 치 려 면 Swipe RefreshLayout 로 이 루어 집 니 다.이 는 OnRefreshListener 를 설정 하여 인터페이스의 미끄럼 을 감청 하여 리 셋 을 실현 합 니 다.Swipe RefreshLayout 를 새로 고 칠 수 있 는 지 설정 할 수도 있 습 니 다.예 를 들 어 set Refreshing(true),새로 고침 애니메이션 을 엽 니 다.
set Refreshing(false),애니메이션 새로 고침 취소.setEnable(true)드 롭 다운 새로 고침 은 사용 할 수 없습니다.
•이 레이아웃 을 사용 하여 새로 고침 의 목적 을 달성 하려 면 이 레이아웃 에서 미 끄 러 질 수 있 는 하위 컨트롤,예 를 들 어 ListView 등 을 감 싸 고 하위 컨트롤 만 있 을 수 있 습 니 다.
•소개 요약:Swipe RefreshLayout 를 사용 하면 드 롭 다운 리 셋 을 실현 할 수 있 습 니 다.전 제 는 레이아웃 에 미 끄 러 질 수 있 는 하위 컨트롤 을 감 싼 다음 코드 에 OnRefreshListener 설정 감청 을 설정 하고 마지막 으로 감청 에 리 셋 할 때의 데 이 터 를 설정 하면 됩 니 다.새로 나 온 것 이기 때문에 사용 하려 면 먼저 슈퍼 port library 버 전 을 19.1 로 업그레이드 하거나 업데이트 합 니 다.
2.Swipe RefreshLayout 의 주요 방법 소개
공식 문 서 를 뒤 져 보면 방법 이 많 습 니 다.여기 서 자주 사용 하 는 방법 다섯 가지 만 소개 합 니 다.
•isRefreshing()
•현재 상태 가 리 셋 상태 인지 판단 합 니 다.
•setColorSchemeResources(int... colorResIds)
•드 롭 다운 진행 바 의 색상 테 마 를 설정 합 니 다.매개 변 수 는 가 변 매개 변수 이 고 자원 id 입 니 다.다양한 색상 을 설정 할 수 있 습 니 다.한 바퀴 돌 때마다 한 가지 색상 을 표시 합 니 다.
•setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener)
•감청 설정,onRefresh()방법 을 다시 써 야 합 니 다.상단 드 롭 다운 시 이 방법 을 사용 합 니 다.그 안에서 요청 데이터 의 논 리 를 실현 하고 드 롭 다운 진도 가 사라 지 는 등 을 설정 합 니 다.
•setProgressBackgroundColorSchemeResource(int colorRes)
•드 롭 다운 진행 바 의 배경 색 을 설정 합 니 다.기본 흰색 입 니 다.
•setRefreshing(boolean refreshing)
•새로 고침 상 태 를 설정 합 니 다.true 는 새로 고침 을 표시 하고 false 는 새로 고침 을 취소 합 니 다.
그럼 더 이상 말 하지 않 고 바로 시작 하 겠 습 니 다.
효과 그림:

activity_listview 레이아웃 파일

<android.support.v4.widget.SwipeRefreshLayout 
       android:id="@+id/sr1" 
       android:layout_width="match_parent" 
      android:layout_height="match_parent"> 
       <ListView 
         android:id="@+id/lv" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content"/> 
    </android.support.v4.widget.SwipeRefreshLayout> 
활동 코드(ListViewActivity)

public class ListViewActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener { 
  private SwipeRefreshLayout swipeRefreshLayout; 
  private ListView listView; 
  private List<String> list; 
  private ArrayAdapter adapter; 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_list_view); 
    swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.sr1); 
    swipeRefreshLayout.setOnRefreshListener(this); 
    list = new ArrayList<>(); 
    for(int i = 0;i<10;i++){
      list.add("   "+i+"   ");
    }
    listView = (ListView) findViewById(R.id.lv); 
    adapter = new ArrayAdapter(this 
        , android.R.layout.simple_list_item_1 
        , android.R.id.text1 
        , list); 
    listView.setAdapter(adapter); 
  } 
  @Override 
  public void onRefresh() { 
    new Handler().postDelayed(new Runnable() { 
      @Override 
      public void run() { 
        swipeRefreshLayout.setRefreshing(false); 
        adapter.clear(); 
        list.add("   11   "); 
        adapter.notifyDataSetChanged(); 
      } 
    }, 1000); 
  } 
} 
총결산
위 에서 말 한 것 은 편집장 이 소개 한 안 드 로 이 드 가 Swipe Refresh Layout 컨트롤 을 사용 하여 틱 톡 을 모방 하여 만 든 동 영상 드 롭 다운 리 셋 효과 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 은 신속하게 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기