Friday, March 19, 2021

How to create a swipe refresh layout in Android using Kotlin

How to create a swipe refresh layout in Android using Kotlin

res/layout/activity_main.xml.

<?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"

   tools:context=".MainActivity">

   <androidx.swiperefreshlayout.widget.SwipeRefreshLayout

      android:id="@+id/swipe"

      android:layout_width="match_parent"

      android:layout_height="match_parent">

   <TextView

      android:id="@+id/textView"

      android:layout_width="wrap_content"

      android:layout_height="wrap_content"

      android:gravity="center"

      android:text="Swipe to Reload"

      android:textColor="@android:color/background_dark"

      android:textSize="24sp"

      android:textStyle="bold" />

   </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

</RelativeLayout>

src/MainActivity.kt

class MainActivity : AppCompatActivity() {

   lateinit var swipeRefreshLayout: SwipeRefreshLayout

   lateinit var textView: TextView

   var number: Int = 0

   override fun onCreate(savedInstanceState: Bundle?) {

      super.onCreate(savedInstanceState)

      setContentView(R.layout.activity_main)

      title = "KotlinApp"

      swipeRefreshLayout = findViewById(R.id.swipe)

      textView = findViewById(R.id.textView)

      swipeRefreshLayout.setOnRefreshListener {

         number++

         textView.text = " Total number = $number"

         Handler().postDelayed(Runnable {

            swipeRefreshLayout.isRefreshing = false

         }, 4000)

      }

   }

}

androidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

   package="com.example.q11">

   <application

      android:allowBackup="true"

      android:icon="@mipmap/ic_launcher"

      android:label="@string/app_name"

      android:roundIcon="@mipmap/ic_launcher_round"

      android:supportsRtl="true"

      android:theme="@style/AppTheme">

      <activity android:name=".MainActivity">

         <intent-filter>

            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />

         </intent-filter>

      </activity>

   </application>

</manifest>

swipe refresh layout in Android

No comments:

Post a Comment