English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

androidコンポーネントSwipeRefreshLayoutでドラッグダウンボール式リフレッシュ効果

swiperefreshlayoutでドラッグダウンしてボールが回転するようなリフレッシュを実現しています。以下の詳細内容を参照してください。

レイアウトファイル:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen"/activity_horizontal_margin"
android:paddingRight="@dimen"/activity_horizontal_margin"
android:paddingTop="@dimen"/activity_vertical_margin"
android:paddingBottom="@dimen"/activity_vertical_margin" tools:context=".MainActivity">
  <android.support.v4.widget.SwipeRefreshLayout
    android:id="@"+id/swipeRefreshLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
  >
   <ListView
     android:id="@"+id/listView"
     android:layout_width="match_parent"
     android:layout_height="wrap_content">
   </ListView>
  </android.support.v4.widget.SwipeRefreshLayout>
</RelativeLayout>

MainActivity:

public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener{}}
private static final int REFRESH_STATUS =0;
private ListView myListView;
private SwipeRefreshLayout mySwipeRefreshLayout;
private ArrayAdapter<String> listAdapter;
private List<String> listIDE = new ArrayList<String>(Arrays.asList("Visual Studio", "Android Studio", "Eclipse", "Xcode"));
private Handler refreshHandler = new Handler()
{
  public void handleMessage(android.os.Message msg)
  {
    switch (msg.what)
    {
      case REFRESH_STATUS:
        listIDE.removeAll(listIDE);
        listIDE.addAll(Arrays.asList("C#", "Java", "C++","Object-C"));
        listAdapter.notifyDataSetChanged();
        mySwipeRefreshLayout.setRefreshing(false);
        break;
    }
  };
};
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  myListView = (ListView) findViewById(R.id.listView);
  mySwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout);
  mySwipeRefreshLayout.setOnRefreshListener(this);
  mySwipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_bright, android.R.color.holo_green_light,
      android.R.color.holo_orange_light, android.R.color.holo_red_light);
  listAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,listIDE);
  myListView.setAdapter(listAdapter);
}
@Override

  refreshHandler.sendEmptyMessageDelayed(REFRESH_STATUS, 1500);
 }
}

イメージ:

これで本文のすべてが終わりです。皆様の学習に役立つことを願っています。また、呐喊教程を多くの皆様にサポートしていただけると嬉しいです。

声明:本文の内容はインターネットから取得しており、著作権者は所有者であり、インターネットユーザーが自発的に貢献し、自己でアップロードしたものであり、本サイトは所有権を持ちません。また、人工的な編集は行われていません。著作権侵害が疑われる内容を見つけた場合は、以下のメールアドレスにご連絡ください:notice#oldtoolbag.com(メールを送信する際、#を@に変更してください。報告を行い、関連する証拠を提供してください。一旦確認がついたら、本サイトは侵害される内容をすぐに削除します。)

おすすめ