1、在module的gradle中添加
buildFeatures{
viewBinding true
}
2、定义activitybingding
Activity + Activity名称(Splash)+Binding
val splashBinding:ActivitySplashBinding = ActivitySplashBinding.inflate(layoutInflater);
3、将bingding设置到界面
setContentView(splashBinding.root)
4、修改字体的内容
splashBinding.tvAppName.text = "hello world"
注:
SplashActivity原来的代码
class SplashActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_splash)
}
}
使用ViewBingding后的代码
package com.dummy.mykotlin2
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.dummy.mykotlin2.databinding.ActivitySplashBinding
class SplashActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val splashBinding:ActivitySplashBinding = ActivitySplashBinding.inflate(layoutInflater);
setContentView(splashBinding.root)
splashBinding.tvAppName.text = "hello world"
}
}
SplashActivity的布局 :
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/primary_dark_color"
tools:context=".SplashActivity">
<TextView
android:id="@+id/tv_app_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/splash_screen_title"
android:textColor="@color/white"
android:textSize="50sp"
android:fontFamily="cursive"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>