Commit b45d4f69 authored by shiyl's avatar shiyl

锁定应用为竖屏,并修改生活名称修改的UI问题

parent 27489ca6
package com.yidian.common.base package com.yidian.common.base
import android.annotation.SuppressLint
import android.content.pm.ActivityInfo
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import androidx.viewbinding.ViewBinding import androidx.viewbinding.ViewBinding
...@@ -10,75 +12,79 @@ import com.yidian.nightmode.preference.NightModeConfig ...@@ -10,75 +12,79 @@ import com.yidian.nightmode.preference.NightModeConfig
import com.yidian.xpage.XPageViewProtocol import com.yidian.xpage.XPageViewProtocol
abstract class BaseActivity<VB :ViewBinding> : NightAppCompatActivity(), XPageViewProtocol { abstract class BaseActivity<VB : ViewBinding> : NightAppCompatActivity(), XPageViewProtocol {
protected lateinit var viewBind:VB
override fun onCreate(savedInstanceState: Bundle?) { protected lateinit var viewBind: VB
super.onCreate(savedInstanceState)
viewBind = createViewBinding()
extraViewBinding()
setContentView(viewBind.root)
init(savedInstanceState)
}
/** @SuppressLint("SourceLockedOrientationActivity")
* 如果有多个viewBinding需要初始化时 override fun onCreate(savedInstanceState: Bundle?) {
*/ super.onCreate(savedInstanceState)
open fun extraViewBinding() { viewBind = createViewBinding()
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
extraViewBinding()
setContentView(viewBind.root)
init(savedInstanceState)
}
} /**
* 如果有多个viewBinding需要初始化时
*/
open fun extraViewBinding() {
override fun updateCover(isNight: Boolean) {} }
override fun getCurrentTheme(isNight: Boolean): Int { override fun updateCover(isNight: Boolean) {}
return if (isNight) R.style.subway_theme_night else R.style.subway_theme_day
}
override fun setContentView(view:View){ override fun getCurrentTheme(isNight: Boolean): Int {
SystemBarUtils.setStatusBarTransparent(this.window) return if (isNight) R.style.subway_theme_night else R.style.subway_theme_day
if (allowChangeStatusBarTextColor() ) { }
setStatusBarTextColor(NightModeConfig.getInstance().nightMode)
} override fun setContentView(view: View) {
super.setContentView(view) SystemBarUtils.setStatusBarTransparent(this.window)
if (allowChangeStatusBarTextColor()) {
setStatusBarTextColor(NightModeConfig.getInstance().nightMode)
} }
super.setContentView(view)
}
private fun allowChangeStatusBarTextColor(): Boolean { private fun allowChangeStatusBarTextColor(): Boolean {
return SystemBarUtils.supportTranslucentStatusBar() && SystemBarUtils.supportChangeStatusBarTextColor() return SystemBarUtils.supportTranslucentStatusBar() && SystemBarUtils.supportChangeStatusBarTextColor()
} }
abstract fun createViewBinding(): VB
override fun onNightModeChanged(isNight: Boolean) { abstract fun createViewBinding(): VB
super.onNightModeChanged(isNight)
if (allowChangeStatusBarTextColor()) {
setStatusBarTextColor(isNight)
}
}
open fun setStatusBarTextColor(isNight: Boolean) { override fun onNightModeChanged(isNight: Boolean) {
if (isNight) { super.onNightModeChanged(isNight)
if (this.useWhiteStatusBarTextColorInNightMode()) { if (allowChangeStatusBarTextColor()) {
SystemBarUtils.setStatusBarTextColorWhite(this) setStatusBarTextColor(isNight)
} else { }
SystemBarUtils.setStatusBarTextColorBlack(this) }
}
} else if (this.useBlackStatusBarTextColorInDayMode()) { open fun setStatusBarTextColor(isNight: Boolean) {
SystemBarUtils.setStatusBarTextColorBlack(this) if (isNight) {
} else { if (this.useWhiteStatusBarTextColorInNightMode()) {
SystemBarUtils.setStatusBarTextColorWhite(this) SystemBarUtils.setStatusBarTextColorWhite(this)
} } else {
SystemBarUtils.setStatusBarTextColorBlack(this)
}
} else if (this.useBlackStatusBarTextColorInDayMode()) {
SystemBarUtils.setStatusBarTextColorBlack(this)
} else {
SystemBarUtils.setStatusBarTextColorWhite(this)
} }
}
private fun useBlackStatusBarTextColorInDayMode(): Boolean { private fun useBlackStatusBarTextColorInDayMode(): Boolean {
return true return true
} }
private fun useWhiteStatusBarTextColorInNightMode(): Boolean { private fun useWhiteStatusBarTextColorInNightMode(): Boolean {
return true return true
} }
protected open fun init(savedInstanceState: Bundle?) {} protected open fun init(savedInstanceState: Bundle?) {}
} }
...@@ -100,9 +100,9 @@ class LifeAccountModifyNameActivity : BaseActivity<ActivityLifeAccountModifyName ...@@ -100,9 +100,9 @@ class LifeAccountModifyNameActivity : BaseActivity<ActivityLifeAccountModifyName
// 生活号名称修改成功 发送事件通知商户基本信息页面和商户管理中心页面 // 生活号名称修改成功 发送事件通知商户基本信息页面和商户管理中心页面
XEventManager.post(XBaseEvent(XEventConfig.LIFE_ACCOUNT_NAME_MODIFY, viewBind.evLifeAccountName.getEditContent())) XEventManager.post(XBaseEvent(XEventConfig.LIFE_ACCOUNT_NAME_MODIFY, viewBind.evLifeAccountName.getEditContent()))
XPageManager.pop(null) XPageManager.pop(null)
} else { // } else {
// 生活号名称修改失败 提示 // // 生活号名称修改失败 提示
viewBind.evLifeAccountName.showErrorTips(resources.getString(R.string.life_account_name_already_exist)) // viewBind.evLifeAccountName.showErrorTips(resources.getString(R.string.life_account_name_already_exist))
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment