From e6a3c1605f5e1f68816340ab51af3ed7c1145958 Mon Sep 17 00:00:00 2001 From: maxinyu Date: Wed, 20 May 2026 17:51:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/FamilySwitchAdapter.kt | 7 +- .../defenseapplication/model/FamilyItem.kt | 3 +- .../view/FamilySwitchDialog.kt | 2 +- .../defenseapplication/view/LanguageDialog.kt | 24 ++++--- app/src/main/res/drawable/chinexe.png | Bin 0 -> 2545 bytes app/src/main/res/drawable/english.png | Bin 0 -> 10933 bytes app/src/main/res/layout/dialog_language.xml | 66 +++++++++++++----- app/src/main/res/values-zh/strings.xml | 2 + app/src/main/res/values/strings.xml | 2 + 9 files changed, 77 insertions(+), 29 deletions(-) create mode 100644 app/src/main/res/drawable/chinexe.png create mode 100644 app/src/main/res/drawable/english.png diff --git a/app/src/main/java/com/example/defenseapplication/adapter/FamilySwitchAdapter.kt b/app/src/main/java/com/example/defenseapplication/adapter/FamilySwitchAdapter.kt index 759fda1..db9f944 100644 --- a/app/src/main/java/com/example/defenseapplication/adapter/FamilySwitchAdapter.kt +++ b/app/src/main/java/com/example/defenseapplication/adapter/FamilySwitchAdapter.kt @@ -50,7 +50,12 @@ class FamilySwitchAdapter( ) : RecyclerView.ViewHolder(binding.root) { fun bind(item: FamilyItem, isSelected: Boolean) { - binding.tvFamilyName.text = item.name + val displayName = if (item.role == "appadmin") { + binding.root.context.getString(R.string.my_family_admin, item.name) + } else { + binding.root.context.getString(R.string.family_member, item.name) + } + binding.tvFamilyName.text = displayName binding.root.setBackgroundColor( ContextCompat.getColor( diff --git a/app/src/main/java/com/example/defenseapplication/model/FamilyItem.kt b/app/src/main/java/com/example/defenseapplication/model/FamilyItem.kt index c984f37..0f6b532 100644 --- a/app/src/main/java/com/example/defenseapplication/model/FamilyItem.kt +++ b/app/src/main/java/com/example/defenseapplication/model/FamilyItem.kt @@ -2,5 +2,6 @@ package com.example.defenseapplication.model data class FamilyItem( val id: String, - val name: String + val name: String, + val role: String ) diff --git a/app/src/main/java/com/example/defenseapplication/view/FamilySwitchDialog.kt b/app/src/main/java/com/example/defenseapplication/view/FamilySwitchDialog.kt index d062724..f6c791f 100644 --- a/app/src/main/java/com/example/defenseapplication/view/FamilySwitchDialog.kt +++ b/app/src/main/java/com/example/defenseapplication/view/FamilySwitchDialog.kt @@ -81,7 +81,7 @@ class FamilySwitchDialog( withContext(Dispatchers.Main) { if (response.code == 200 && response.data != null) { familyBeanList = response.data.reversed() - val familyItems = familyBeanList.map { FamilyItem(it.id, it.parentName) } + val familyItems = familyBeanList.map { FamilyItem(it.id, it.parentName, it.role) } adapter.updateList(familyItems) familyBeanList.firstOrNull()?.let { diff --git a/app/src/main/java/com/example/defenseapplication/view/LanguageDialog.kt b/app/src/main/java/com/example/defenseapplication/view/LanguageDialog.kt index b652159..05dd8be 100644 --- a/app/src/main/java/com/example/defenseapplication/view/LanguageDialog.kt +++ b/app/src/main/java/com/example/defenseapplication/view/LanguageDialog.kt @@ -3,8 +3,9 @@ package com.example.defenseapplication.view import android.app.Dialog import android.content.Context import android.os.Bundle -import android.view.LayoutInflater +import android.view.Gravity import android.view.Window +import android.view.WindowManager import android.widget.LinearLayout import android.widget.TextView import com.example.defenseapplication.R @@ -16,23 +17,28 @@ import com.example.defenseapplication.utils.LanguageUtil class LanguageDialog( context: Context, private val onLanguageSelected: (String) -> Unit -) : Dialog(context) { +) : Dialog(context, R.style.BottomDialogStyle) { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) requestWindowFeature(Window.FEATURE_NO_TITLE) setContentView(R.layout.dialog_language) - // 设置对话框宽度为屏幕宽度的80% - window?.setLayout( - (context.resources.displayMetrics.widthPixels * 0.8).toInt(), - LinearLayout.LayoutParams.WRAP_CONTENT - ) + val window = window + val params = window?.attributes + params?.width = WindowManager.LayoutParams.MATCH_PARENT + params?.height = WindowManager.LayoutParams.WRAP_CONTENT + params?.gravity = Gravity.BOTTOM + window?.attributes = params + window?.setBackgroundDrawableResource(android.R.color.transparent) + window?.setDimAmount(0.5f) initViews() } private fun initViews() { + val llChinese = findViewById(R.id.llChinese) + val llEnglish = findViewById(R.id.llEnglish) val tvChinese = findViewById(R.id.tvChinese) val tvEnglish = findViewById(R.id.tvEnglish) val tvCancel = findViewById(R.id.tvCancel) @@ -46,12 +52,12 @@ class LanguageDialog( tvEnglish.setTextColor(context.getColor(R.color.green)) } - tvChinese.setOnClickListener { + llChinese.setOnClickListener { onLanguageSelected(LanguageUtil.LANGUAGE_CHINESE) dismiss() } - tvEnglish.setOnClickListener { + llEnglish.setOnClickListener { onLanguageSelected(LanguageUtil.LANGUAGE_ENGLISH) dismiss() } diff --git a/app/src/main/res/drawable/chinexe.png b/app/src/main/res/drawable/chinexe.png new file mode 100644 index 0000000000000000000000000000000000000000..9df0a92ce071161df6863d7cfec2d02ce263987a GIT binary patch literal 2545 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Μ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 - + android:focusable="true"> + + + + + - + android:focusable="true"> + + + + + - + \ No newline at end of file diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 125171f..924f54e 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -62,6 +62,8 @@ 个人 管理者 普通用户 + %s(管理员) + %s(成员) 我的设备 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 79f9b0f..aac1c26 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -97,6 +97,8 @@ Switch Family Current Family My Family + %s (Admin) + %s (Member) Add Family Family Name Enter family name