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 0000000..9df0a92 Binary files /dev/null and b/app/src/main/res/drawable/chinexe.png differ diff --git a/app/src/main/res/drawable/english.png b/app/src/main/res/drawable/english.png new file mode 100644 index 0000000..db72030 Binary files /dev/null and b/app/src/main/res/drawable/english.png differ diff --git a/app/src/main/res/layout/dialog_language.xml b/app/src/main/res/layout/dialog_language.xml index 5c4239c..8df8a09 100644 --- a/app/src/main/res/layout/dialog_language.xml +++ b/app/src/main/res/layout/dialog_language.xml @@ -21,34 +21,66 @@ android:layout_height="1dp" android:background="#EEEEEE" /> - + 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