Settings: add TextView for summary into SeekBarDialogPreference

Signed-off-by: cjybyjk <cjybyjk@zjnu.edu.cn>
Change-Id: Icff728749c3e597a4127d77646bdf3a742c35d83
Signed-off-by: Dmitrii <bankersenator@gmail.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
This commit is contained in:
cjybyjk
2022-03-10 23:05:20 +08:00
committed by Joey
parent e7d38634a2
commit edfa749d17
2 changed files with 28 additions and 0 deletions

View File

@@ -26,6 +26,17 @@
android:layout_height="wrap_content"
android:paddingTop="?android:attr/dialogPreferredPadding" />
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:paddingTop="?android:attr/dialogPreferredPadding"
android:paddingStart="?android:attr/dialogPreferredPadding"
android:paddingEnd="?android:attr/dialogPreferredPadding"
style="@style/TextAppearance.DialogMessage"
android:visibility="gone"/>
<SeekBar
android:id="@+id/seekbar"
android:layout_width="match_parent"

View File

@@ -18,12 +18,15 @@ package com.android.settings;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.TextView;
import com.android.settingslib.CustomDialogPreferenceCompat;
import com.android.settings.R;
/**
* Based on frameworks/base/core/java/android/preference/SeekBarDialogPreference.java
@@ -31,6 +34,7 @@ import com.android.settingslib.CustomDialogPreferenceCompat;
*/
public class SeekBarDialogPreference extends CustomDialogPreferenceCompat {
private final Drawable mMyIcon;
private TextView mTextView;
public SeekBarDialogPreference(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -64,6 +68,19 @@ public class SeekBarDialogPreference extends CustomDialogPreferenceCompat {
} else {
iconView.setVisibility(View.GONE);
}
mTextView = view.findViewById(R.id.text);
}
public void setText(String text) {
if (mTextView != null) {
if (TextUtils.isEmpty(text)) {
mTextView.setVisibility(View.GONE);
} else {
mTextView.setVisibility(View.VISIBLE);
}
mTextView.setText(text);
}
}
protected static SeekBar getSeekBar(View dialogView) {