Add seekBar properties 'tickMark' to LabeledSeekBarPreference
Bug: 173940869 Test: manual Change-Id: I135e52181bdb86ded6187a3fa30b9cffeb69d451
This commit is contained in:
@@ -170,6 +170,7 @@
|
||||
<declare-styleable name="LabeledSeekBarPreference">
|
||||
<attr name="textStart" format="reference" />
|
||||
<attr name="textEnd" format="reference" />
|
||||
<attr name="tickMark" format="reference" />
|
||||
</declare-styleable>
|
||||
|
||||
<declare-styleable name="TintDrawable">
|
||||
|
@@ -18,6 +18,7 @@ package com.android.settings.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.SeekBar;
|
||||
import android.widget.TextView;
|
||||
@@ -32,6 +33,7 @@ public class LabeledSeekBarPreference extends SeekBarPreference {
|
||||
|
||||
private final int mTextStartId;
|
||||
private final int mTextEndId;
|
||||
private final int mTickMarkId;
|
||||
private OnPreferenceChangeListener mStopListener;
|
||||
|
||||
public LabeledSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr,
|
||||
@@ -48,6 +50,8 @@ public class LabeledSeekBarPreference extends SeekBarPreference {
|
||||
mTextEndId = styledAttrs.getResourceId(
|
||||
R.styleable.LabeledSeekBarPreference_textEnd,
|
||||
R.string.summary_placeholder);
|
||||
mTickMarkId = styledAttrs.getResourceId(
|
||||
R.styleable.LabeledSeekBarPreference_tickMark, /* defValue= */ 0);
|
||||
styledAttrs.recycle();
|
||||
}
|
||||
|
||||
@@ -65,6 +69,13 @@ public class LabeledSeekBarPreference extends SeekBarPreference {
|
||||
final TextView endText = (TextView) holder.findViewById(android.R.id.text2);
|
||||
startText.setText(mTextStartId);
|
||||
endText.setText(mTextEndId);
|
||||
|
||||
if (mTickMarkId != 0) {
|
||||
final Drawable tickMark = getContext().getDrawable(mTickMarkId);
|
||||
final SeekBar seekBar = (SeekBar) holder.findViewById(
|
||||
com.android.internal.R.id.seekbar);
|
||||
seekBar.setTickMark(tickMark);
|
||||
}
|
||||
}
|
||||
|
||||
public void setOnPreferenceChangeStopListener(OnPreferenceChangeListener listener) {
|
||||
|
Reference in New Issue
Block a user