feat(设置模块): 新增设置页
新增设置页
This commit is contained in:
parent
016c59b38f
commit
a74a65f6b0
@ -1,42 +0,0 @@
|
||||
package com.kaixed.kchat.entity;
|
||||
|
||||
/**
|
||||
* @Author: kaixed
|
||||
* @Date: 2024/6/28 12:05
|
||||
* @Description: TODO
|
||||
*/
|
||||
public class HomeItem {
|
||||
private String name;
|
||||
private boolean more;
|
||||
private Integer img;
|
||||
|
||||
public HomeItem(String name, boolean more, Integer img) {
|
||||
this.name = name;
|
||||
this.more = more;
|
||||
this.img = img;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public boolean isMore() {
|
||||
return more;
|
||||
}
|
||||
|
||||
public void setMore(boolean more) {
|
||||
this.more = more;
|
||||
}
|
||||
|
||||
public Integer getImg() {
|
||||
return img;
|
||||
}
|
||||
|
||||
public void setImg(Integer img) {
|
||||
this.img = img;
|
||||
}
|
||||
}
|
@ -1,86 +0,0 @@
|
||||
package com.kaixed.kchat.utils;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.os.Build;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.kaixed.kchat.R;
|
||||
|
||||
public class CustomToolbarView extends RelativeLayout {
|
||||
|
||||
private TextView titleView;
|
||||
private ImageView logoView;
|
||||
|
||||
public CustomToolbarView(Context context) {
|
||||
super(context);
|
||||
init(context, null);
|
||||
}
|
||||
|
||||
public CustomToolbarView(Context context, @Nullable AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init(context, attrs);
|
||||
}
|
||||
|
||||
public CustomToolbarView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
init(context, attrs);
|
||||
}
|
||||
|
||||
private void init(Context context, @Nullable AttributeSet attrs) {
|
||||
// 从布局文件中加载布局
|
||||
LayoutInflater.from(context).inflate(R.layout.custom_toolbar, this, true);
|
||||
titleView = findViewById(R.id.tv_toolbar_name);
|
||||
logoView = findViewById(R.id.iv_toolbar_back);
|
||||
|
||||
// 如果需要,可以在这里设置默认的点击事件
|
||||
logoView.setOnClickListener(v -> {
|
||||
if (context instanceof Activity) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
((Activity) context).getOnBackInvokedDispatcher();
|
||||
} else {
|
||||
((Activity) context).onBackPressed();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (attrs != null) {
|
||||
// 获取自定义属性并应用
|
||||
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CustomToolbar);
|
||||
String titleText = a.getString(R.styleable.CustomToolbar_customTitle);
|
||||
int logoResId = a.getResourceId(R.styleable.CustomToolbar_customLogo, -1);
|
||||
int titleColor = a.getColor(R.styleable.CustomToolbar_customTitleColor, getResources().getColor(android.R.color.black));
|
||||
|
||||
if (titleText != null) {
|
||||
setTitle(titleText);
|
||||
}
|
||||
|
||||
if (logoResId != -1) {
|
||||
setLogo(logoResId);
|
||||
}
|
||||
|
||||
titleView.setTextColor(titleColor);
|
||||
a.recycle();
|
||||
}
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
titleView.setText(title);
|
||||
}
|
||||
|
||||
public void setLogo(int resId) {
|
||||
logoView.setImageResource(resId);
|
||||
}
|
||||
|
||||
public void setLogoClickListener(OnClickListener listener) {
|
||||
logoView.setOnClickListener(listener);
|
||||
}
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.kaixed.kchat.view.widget
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.View
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceViewHolder
|
||||
import com.kaixed.kchat.R
|
||||
import com.kaixed.kchat.databinding.PreferenceCustomLayoutBinding
|
||||
|
||||
class CustomPreference @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0,
|
||||
) : Preference(context, attrs, defStyleAttr) {
|
||||
|
||||
private var isShowTopDivider = false
|
||||
private var isShowBottomDivider = false
|
||||
|
||||
init {
|
||||
layoutResource = R.layout.preference_custom_layout
|
||||
|
||||
attrs?.let {
|
||||
val typedArray = context.obtainStyledAttributes(it, R.styleable.CustomPreference, 0, 0)
|
||||
val isShowTopDivider =
|
||||
typedArray.getBoolean(R.styleable.CustomPreference_isShowTopDivider, false)
|
||||
val isShowBottomDivider =
|
||||
typedArray.getBoolean(R.styleable.CustomPreference_isShowBottomDivider, false)
|
||||
typedArray.recycle()
|
||||
|
||||
this.isShowTopDivider = isShowTopDivider
|
||||
this.isShowBottomDivider = isShowBottomDivider
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
override fun onBindViewHolder(holder: PreferenceViewHolder) {
|
||||
super.onBindViewHolder(holder)
|
||||
holder.isDividerAllowedAbove = false
|
||||
holder.isDividerAllowedBelow = false
|
||||
|
||||
val binding = PreferenceCustomLayoutBinding.bind(holder.itemView)
|
||||
|
||||
|
||||
binding.tvItemName.text = title
|
||||
|
||||
binding.decorationTop.visibility = if (isShowTopDivider) {
|
||||
View.VISIBLE
|
||||
} else {
|
||||
View.GONE
|
||||
}
|
||||
|
||||
binding.decorationBottom.visibility = if (isShowBottomDivider) {
|
||||
View.VISIBLE
|
||||
} else {
|
||||
View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
package com.kaixed.kchat.view.widget
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import androidx.preference.PreferenceCategory
|
||||
import androidx.preference.PreferenceViewHolder
|
||||
import com.kaixed.kchat.R
|
||||
import com.kaixed.kchat.databinding.PreferenceCategoryCustomLayoutBinding
|
||||
|
||||
/**
|
||||
* @Author: kaixed
|
||||
* @Date: 2024/10/10 14:45
|
||||
* @Description: TODO
|
||||
*/
|
||||
class CustomPreferenceCategory @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0,
|
||||
) : PreferenceCategory(context, attrs, defStyleAttr) {
|
||||
|
||||
private var title = ""
|
||||
|
||||
init {
|
||||
layoutResource = R.layout.preference_category_custom_layout
|
||||
|
||||
attrs?.let {
|
||||
val typedArray =
|
||||
context.obtainStyledAttributes(it, R.styleable.CustomPreferenceCategory, 0, 0)
|
||||
val title = typedArray.getString(R.styleable.CustomPreferenceCategory_itemTitle)
|
||||
typedArray.recycle()
|
||||
if (title != null) {
|
||||
Log.d("haha", title)
|
||||
this.title = title
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: PreferenceViewHolder) {
|
||||
super.onBindViewHolder(holder)
|
||||
|
||||
val binding = PreferenceCategoryCustomLayoutBinding.bind(holder.itemView)
|
||||
|
||||
Log.d("haha1", title)
|
||||
|
||||
if (title.isNotEmpty()) {
|
||||
binding.tvTitle.text = title
|
||||
binding.decoration.visibility = View.GONE
|
||||
binding.tvTitle.visibility = View.VISIBLE
|
||||
} else {
|
||||
binding.decoration.visibility = View.VISIBLE
|
||||
binding.tvTitle.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
}
|
8
app/src/main/res/drawable/icon_red_dot.xml
Normal file
8
app/src/main/res/drawable/icon_red_dot.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#FF0000" />
|
||||
<corners android:radius="50dp" />
|
||||
<size
|
||||
android:width="10dp"
|
||||
android:height="10dp" />
|
||||
</shape>
|
44
app/src/main/res/layout/activity_setting.xml
Normal file
44
app/src/main/res/layout/activity_setting.xml
Normal file
@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/main"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/gray"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:context=".view.activity.SettingActivity">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_back"
|
||||
android:layout_width="22dp"
|
||||
android:layout_height="22dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:src="@drawable/ic_left_arrow"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/setting"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/iv_back"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/iv_back" />
|
||||
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_setting"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:overScrollMode="never"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/iv_back" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
42
app/src/main/res/layout/item_setting_function.xml
Normal file
42
app/src/main/res/layout/item_setting_function.xml
Normal file
@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/white">
|
||||
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_item"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:paddingVertical="15dp"
|
||||
android:text="账号与安全"
|
||||
android:textColor="@color/black"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/view"
|
||||
app:layout_goneMarginTop="0dp" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:src="@drawable/icon_arrow_right"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_item"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_item" />
|
||||
|
||||
<View
|
||||
android:id="@+id/view_item_decoration"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="1dp"
|
||||
android:background="#E5E5E5"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/tv_item" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
40
app/src/main/res/layout/item_setting_normal.xml
Normal file
40
app/src/main/res/layout/item_setting_normal.xml
Normal file
@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/white">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_item_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:paddingVertical="15dp"
|
||||
android:text="账号与安全"
|
||||
android:textColor="@color/black"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_goneMarginTop="0dp" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:src="@drawable/icon_arrow_right"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_item_name"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_item_name" />
|
||||
|
||||
<View
|
||||
android:id="@+id/view_item_decoration"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="1dp"
|
||||
android:background="#E5E5E5"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/tv_item_name" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
26
app/src/main/res/layout/item_setting_title.xml
Normal file
26
app/src/main/res/layout/item_setting_title.xml
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<View
|
||||
android:id="@+id/view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="8dp"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_item_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:paddingTop="15dp"
|
||||
android:paddingBottom="10dp"
|
||||
android:text="隐私"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/view"
|
||||
app:layout_goneMarginTop="0dp" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<View
|
||||
android:id="@+id/decoration"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="8dp"
|
||||
android:background="#E5E5E5"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/gray"
|
||||
android:paddingStart="15dp"
|
||||
android:paddingTop="13dp"
|
||||
android:paddingBottom="10dp"
|
||||
android:textColor="#6B6B6B"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
49
app/src/main/res/layout/preference_custom_layout.xml
Normal file
49
app/src/main/res/layout/preference_custom_layout.xml
Normal file
@ -0,0 +1,49 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/white">
|
||||
|
||||
<View
|
||||
android:id="@+id/decoration_top"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="1dp"
|
||||
android:background="#E5E5E5"
|
||||
app:layout_constraintStart_toStartOf="@id/tv_item_name"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_item_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:paddingVertical="15dp"
|
||||
android:text="账号与安全"
|
||||
android:textColor="@color/black"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/decoration_top"
|
||||
app:layout_goneMarginTop="0dp" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:src="@drawable/icon_arrow_right"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_item_name"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_item_name" />
|
||||
|
||||
<View
|
||||
android:id="@+id/decoration_bottom"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="1dp"
|
||||
android:background="#E5E5E5"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/tv_item_name" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
81
app/src/main/res/xml/root_preferences.xml
Normal file
81
app/src/main/res/xml/root_preferences.xml
Normal file
@ -0,0 +1,81 @@
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:background="@color/gray">
|
||||
<com.kaixed.kchat.view.widget.CustomPreference
|
||||
app:key="signature"
|
||||
app:title="账号与安全" />
|
||||
|
||||
<com.kaixed.kchat.view.widget.CustomPreferenceCategory />
|
||||
|
||||
|
||||
<com.kaixed.kchat.view.widget.CustomPreference
|
||||
app:isShowBottomDivider="true"
|
||||
app:key="signature"
|
||||
app:title="青少年模式" />
|
||||
|
||||
<com.kaixed.kchat.view.widget.CustomPreference
|
||||
app:key="signature"
|
||||
app:title="关怀模式"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
|
||||
<com.kaixed.kchat.view.widget.CustomPreferenceCategory />
|
||||
|
||||
<com.kaixed.kchat.view.widget.CustomPreference
|
||||
app:isShowBottomDivider="true"
|
||||
app:key="signature"
|
||||
app:title="新消息通知"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
<com.kaixed.kchat.view.widget.CustomPreference
|
||||
app:isShowBottomDivider="true"
|
||||
app:key="signature"
|
||||
app:title="聊天"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
<com.kaixed.kchat.view.widget.CustomPreference
|
||||
app:isShowBottomDivider="true"
|
||||
app:key="signature"
|
||||
app:title="设备"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
<com.kaixed.kchat.view.widget.CustomPreference
|
||||
app:key="signature"
|
||||
app:title="通用"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
|
||||
<com.kaixed.kchat.view.widget.CustomPreferenceCategory app:itemTitle="隐私" />
|
||||
|
||||
<com.kaixed.kchat.view.widget.CustomPreference
|
||||
app:key="signature"
|
||||
app:title="朋友权限"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
<com.kaixed.kchat.view.widget.CustomPreference
|
||||
app:key="signature"
|
||||
app:title="个人信息与权限"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
<com.kaixed.kchat.view.widget.CustomPreference
|
||||
app:key="signature"
|
||||
app:title="个人信息收集清单"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
<com.kaixed.kchat.view.widget.CustomPreference
|
||||
app:key="signature"
|
||||
app:title="第三方信息共享清单"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
<com.kaixed.kchat.view.widget.CustomPreferenceCategory />
|
||||
<com.kaixed.kchat.view.widget.CustomPreference
|
||||
app:key="signature"
|
||||
app:title="插件"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
|
||||
<com.kaixed.kchat.view.widget.CustomPreferenceCategory />
|
||||
|
||||
<com.kaixed.kchat.view.widget.CustomPreference
|
||||
app:key="signature"
|
||||
app:title="关于微信"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
<com.kaixed.kchat.view.widget.CustomPreference
|
||||
app:key="signature"
|
||||
app:title="帮助与反馈"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
|
||||
<com.kaixed.kchat.view.widget.CustomPreferenceCategory />
|
||||
|
||||
|
||||
</PreferenceScreen>
|
Loading…
Reference in New Issue
Block a user