kotlin简单使用 tablayout+view pager2
闲来无事,所以想熟悉一下kotlin,用kotlin实现了一下tablayout+view pager2,也包括网络retrofit2以及通过郭霖大佬了解到的view binding。
郭霖大佬对view binding的介绍 大家可以看看,写的很棒。
首先是依赖问题
//retrofit
implementation ‘com.squareup.retrofit2:retrofit:2.9.0’
implementation ‘com.squareup.retrofit2:converter-gson:2.9.0’//ConverterFactory的Gson依赖包
implementation ‘com.squareup.retrofit2:converter-scalars:2.9.0’//ConverterFactory的String依赖包
implementation(“com.squareup.okhttp3:okhttp:4.9.1”)
//glide
implementation’com.github.bumptech.glide:glide:4.11.0’
annotationProcessor ‘com.github.bumptech.glide:compiler:4.11.0’
不要问我为什么开头不放效果,因为手机没有录屏,并且想偷懒,哈哈哈哈
除了依赖,更是需要注意权限问题,网络权限相比就不用放了。
接下来看布局
activity_main
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.MainActivity">
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/main_viewpage"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.viewpager2.widget.ViewPager2>
<com.google.android.material.tabs.TabLayout
android:id="@+id/main_tab"
android:background="@color/white"
app:tabBackground="@color/white"
app:tabIndicatorColor="@color/white"
app:tabIndicatorHeight="0dp"
app:tabRippleColor="@color/white"
app:tabSelectedTextColor="@color/main_blue"
app:tabTextColor="@color/main_gey"
android:layout_width="match_parent"
android:layout_height="50dp"
tools:ignore="MissingConstraints">
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</com.google.android.material.tabs.TabLayout>
</LinearLayout>
简简单单一个首页布局,加入了两个fragment ,一个首页,一个我的
接下来看MainActivity.kt
因为写这个的时候还没有引入view binding,所以有findviewbyid,不过也好,不熟悉kotlin的人正好熟悉一下怎么初始化
class MainActivity