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