
核心内容:log常用标记TAG赋值,状态栏设置,逻辑区分,onNewIntent重写,跳转方法简化.
abstract class baseActivity : AppCompatActivity() {
var TAG: String = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
supportRequestWindowFeature(Window.FEATURE_NO_TITLE)
setContentView(contentView)
ImmersionBar.with(this).statusBarDarkFont(true).statusBarColor(R.color.white).fitsSystemWindows(true).init();
TAG = this.localClassName
initView()
initData()
setListener()
}
abstract val contentView: Int
abstract fun initView()
abstract fun initData()
abstract fun setListener()
override fun onNewIntent(intent: Intent?) {
setIntent(intent)
super.onNewIntent(intent)
}
fun goActivity(act: Activity) {
startActivity(Intent(this, act::class.java));
}
fun goActivity(act: Activity, key: String, value: String) {
startActivity(Intent(this, act::class.java).putExtra(key, value));
}
}
//状态栏自定义依赖:
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
实际继承:
class LoginActivity : baseActivity() {
override val contentView: Int = R.layout.activity_login
override fun initView() {}
override fun initData() {}
override fun setListener() {}
}