Come implementare il rinforzo pull down in android?

Attualmente sto lavorando su un frammento che semplicemente un webview con framelayout, il problema è che vorrei fare qualcosa come il pull down refresh (proprio come una function di aggiornamento comune di visualizzazione di elenco).

Supponiamo che ci sia una function refreshToDo() , tutto ciò che mi serve è solo un layout (quando trascinavo il corpo che mostra l'intestazione di aggiornamento, quando l'intestazione a una certa altezza, chiama refreshToDo() , quando lo rilascio, ritorna in cima e hide), ma come implementarla? Grazie

  • L'applicazione Android non parte da Eclipse
  • Forzare un locale diverso funziona solo per la massima attività nel back stack
  • Come get il token di aggiornamento OAuth 2 utilizzando il token di accesso
  • Eclipse Debug Android non funziona
  • Imansible installare APK sul dispositivo Android tramite Eclipse
  • SQlite Ottenere le posizioni più vicine (con latitudine e longitudine)
  • layout: (contiene il contenuto principale e il contenuto di destinazione, puoi semplicemente ingore il contenuto di destinazione, è quello di riprodurre il video in fullscreen in webview):

     <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" > <FrameLayout android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent" > <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" /> </FrameLayout> <FrameLayout android:id="@+id/target_view" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/black" android:visibility="gone" > </FrameLayout> </RelativeLayout> 

    Frammento:

     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.web_fragment, container, false); mTargetView = (FrameLayout) rootView.findViewById(R.id.target_view); mContentView = (FrameLayout) rootView.findViewById(R.id.main_content); mWebView = (WebView) rootView.findViewById(R.id.webView); mWebView.setVerticalScrollBarEnabled(false); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) mWebView.getSettings().setAllowUniversalAccessFromFileURLs(true); mWebView.setWebViewClient(new MyWebViewClient(getActivity())); mWebView.setWebChromeClient(new MyWebChromeClient(getActivity())); mWebView.getSettings().setDomStorageEnabled(true); mWebView.getSettings().setPluginState(WebSettings.PluginState.ON); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.addJavascriptInterface(this, "jsinterface"); // default go to video page mWebView.loadUrl("file://" + getActivity().getFilesDir().toString() + StorageUtils.finalfoldername.toString() + "video_list.html"); return rootView; } 

    Come aggiungere la vista personalizzata per implementare il rinforzo pull down? Grazie

  • Android analizza un xml con saxparser
  • Android - Comprensione di View.getLocalVisibleRect (Rect)
  • MixPanelAPI NoClassDefFoundError
  • L'applicazione smette di rispondere dopo aver ripreso da background. Potrebbe essere la colpa della Firebase?
  • Utilizzo di Jsoup ai dati di accesso POST
  • Imansible creare GStreamer per i tutorial Android
  • 5 Solutions collect form web for “Come implementare il rinforzo pull down in android?”

    Controlla l'incredibile ActionBar-PullToRefresh Library. Esegue il tiro per aggiornare il gesto utilizzando la barra di progresso di gmail / google +, è altamente configurabile e molto semplice da implementare.

    Ora c'è un widget ufficiale SwipeRefreshLayout nella libreria di supporto Android. Esegue esattamente quello che stai cercando. La documentazione è qui:

    https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html

    Ecco un buon tutorial che ho trovato:

    http://antonioleiva.com/swiperefreshlayout/

    Per chi desidera utilizzare questa funzionalità in webView!

    Nel tuo layout xml, avvolgere il tuo WebView in SwipeRefreshLayout :

     <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/swipe_container" android:layout_width="match_parent" android:layout_height="match_parent"> <WebView android:id="@+id/web_view" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.v4.widget.SwipeRefreshLayout> 

    Nella class Activity / Fragment:

     //declare it as global var for future cancel refresh private SwipeRefreshLayout swipeLayout; //where you initialize your views: swipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_container); swipeLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { //your method to refresh content } }); //don't forget to cancel refresh when work is done if(swipeLayout.isRefreshing()) { swipeLayout.setRefreshing(false); } 

    ad esempio puoi impostare un client WebView e quando la pagina viene caricata annullerà l'aggiornamento:

     webView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView web, String url) { if (swipeLayout.isRefreshing()) { swipeLayout.setRefreshing(false); } } }); 

    Prova questo: LisView Custom XListView-Android

    È ansible utilizzare SwipeRefreshLayout disponibile nella libreria di supporto Android.

    Un esempio completo del codice di esempio con tutorial è avaialable in questo collegamento

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.