切换家庭,我的修改名称,手机号

This commit is contained in:
2026-05-11 17:50:35 +08:00
parent a8def9d719
commit e8de34b136
32 changed files with 721 additions and 84 deletions

View File

@@ -5,9 +5,13 @@ import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import android.widget.Toast
import com.bumptech.glide.Glide
import com.example.defenseapplication.R
import com.example.defenseapplication.databinding.PersonalProfileActivityBinding
import com.example.defenseapplication.view.CustomDialogFragmentText
import com.example.defenseapplication.view.PhoneModifyDialogFragment
import com.gyf.immersionbar.ImmersionBar
class PersonalProfileActivity : AppCompatActivity() {
@@ -15,24 +19,19 @@ class PersonalProfileActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
binding = PersonalProfileActivityBinding.inflate(layoutInflater)
setContentView(binding.root)
ImmersionBar.with(this)
.statusBarDarkFont(true)
.titleBar(binding.topBar)
.init()
ViewCompat.setOnApplyWindowInsetsListener(binding.main) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
initView()
}
private fun initView() {
binding.ivBack.setOnClickListener { finish() }
binding.ivBack.setOnClickListener {
finish()
}
Glide.with(this)
.load(R.drawable.img)
@@ -42,9 +41,43 @@ class PersonalProfileActivity : AppCompatActivity() {
binding.tvNickname.text = getString(R.string.nickname_default)
binding.tvPhone.text = "13589898989"
// 点击行可跳转到“修改昵称/修改手机号”等页面
//binding.itemAvatar.setOnClickListener { /* TODO */ }
//binding.itemNickname.setOnClickListener { /* TODO */ }
//binding.itemPhone.setOnClickListener { /* TODO */ }
binding.itemNickname.setOnClickListener {
showNicknameDialog()
}
binding.itemPhone.setOnClickListener {
showPhoneDialog()
}
}
}
private fun showNicknameDialog() {
val currentNickname = binding.tvNickname.text.toString()
val dialog = CustomDialogFragmentText()
.setTitle(getString(R.string.set_name))
.setMessage("")
.setInputHint(getString(R.string.nickname_hint))
.setInputText(currentNickname)
.setShowInput(true)
.setPositiveText(getString(R.string.confirm))
.setNegativeText("")
.setOnConfirmListener { newNickname ->
if (newNickname.isNotBlank()) {
binding.tvNickname.text = newNickname
Toast.makeText(this, getString(R.string.operation_success), Toast.LENGTH_SHORT).show()
}
}
dialog.show(supportFragmentManager, "nickname_dialog")
}
private fun showPhoneDialog() {
val dialog = PhoneModifyDialogFragment()
.setTitle(getString(R.string.modify_phone))
.setNegativeText(getString(R.string.cancel))
.setPositiveText(getString(R.string.verify_and_bind))
.setOnConfirmListener { phone, code ->
binding.tvPhone.text = phone
Toast.makeText(this, getString(R.string.operation_success), Toast.LENGTH_SHORT).show()
}
dialog.show(supportFragmentManager, "phone_dialog")
}
}