Hello there everyone,
This week we are going to see, how to implement the swipe up refresh button using Android Studio.
In the following tutorial, I’ll be swipe refreshing the web view layout in the app.
XML:
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/swipeLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <WebView android:id="@+id/webView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentBottom="true" android:layout_alignParentEnd="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:visibility="gone" /> </android.support.v4.widget.SwipeRefreshLayout>
JAVA – MainActivity:
public class MainActivity extends AppCompatActivity { private WebView webView; private SwipeRefreshLayout layoutRefresh; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); layoutRefresh = this.findViewById(R.id.swipeLayout); layoutRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { if (webView.getUrl() != null) { webView.reload(); // write what happens after swipe refreshing } layoutRefresh.setRefreshing(false); //this line hides the refresh button after completing } }); }
GRADLE – App:
apply plugin: 'com.android.application' android { android.defaultConfig.vectorDrawables.useSupportLibrary = true compileSdkVersion 27 defaultConfig { applicationId "com.whysurfswim.wss" minSdkVersion 19 targetSdkVersion 27 versionCode 4 versionName '4.0' testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } productFlavors { } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:27.0.2' compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.android.support:design:27.0.2' testCompile 'junit:junit:4.12' }
NOTE:
ADD REFRESH BUTTON TO MAKE IT LOOK PROFESSIONAL