核心内容:log常用标记TAG赋值,状态栏设置,逻辑区分,onNewIntent重写,跳转方法简化.
/**
*Author:XingHai.Zhao
*Purpose: All Activity Father
*/
abstract class BaseActivity : AppCompatActivity() {
var TAG: String = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
supportRequestWindowFeature(Window.FEATURE_NO_TITLE)
setContentView(mContentView)
ImmersionBar.with(this).statusBarDarkFont(true).init()
TAG = this.localClassName
initView()
initData()
initListener()
}
abstract val mContentView: Int
abstract fun initView()
abstract fun initData()
abstract fun initListener()
override fun onNewIntent(intent: Intent?) {
setIntent(intent)
super.onNewIntent(intent)
}
fun goActivity(act: Class<*>?) {
startActivity(Intent(this, act));
}
fun goActivity(act: Class<*>?, key: String, value: String) {
startActivity(Intent(this, act).putExtra(key, value));
}
}
//状态栏自定义依赖:
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
子Activity继承举例:
class LoginActivity : BaseActivity() {
override val mContentView: Int = R.layout.activity_login
override fun initView() {}
override fun initData() {}
override fun setListener() {}
}