gpt4 book ai didi

android - 有没有办法将搜索栏添加到我的实际首选项屏幕?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:06:43 25 4
gpt4 key购买 nike

我一直看到有关添加您自己的搜索栏首选项的教程,但它不在我实际的 prefs.xml 中。有什么方法可以在我的主首选项屏幕中添加一个,还是我必须将它分开。

最佳答案

Google 似乎有 2 个 slider 首选项 -

但我不确定它们何时可用。

您可以使用自定义内联 SeekBarPreference由我(见底部的 2 个 slider ):

screenshot

我的代码很简单-

SeekBarPreference.java :

public class SeekBarPreference extends Preference implements OnSeekBarChangeListener {
private SeekBar mSeekBar;
private int mProgress;

public SeekBarPreference(Context context) {
this(context, null, 0);
}

public SeekBarPreference(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}

public SeekBarPreference(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setLayoutResource(R.layout.preference_seekbar);
}

@Override
protected void onBindView(View view) {
super.onBindView(view);
mSeekBar = (SeekBar) view.findViewById(R.id.seekbar);
mSeekBar.setProgress(mProgress);
mSeekBar.setOnSeekBarChangeListener(this);
}

@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (!fromUser)
return;

setValue(progress);
}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// not used
}

@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// not used
}

@Override
protected void onSetInitialValue(boolean restoreValue, Object defaultValue) {
setValue(restoreValue ? getPersistedInt(mProgress) : (Integer) defaultValue);
}

public void setValue(int value) {
if (shouldPersist()) {
persistInt(value);
}

if (value != mProgress) {
mProgress = value;
notifyChanged();
}
}

@Override
protected Object onGetDefaultValue(TypedArray a, int index) {
return a.getInt(index, 0);
}
}

preference_seekbar.xml :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical" >

<SeekBar
android:id="@+id/seekbar"
android:layout_width="0dp"
android:layout_weight="80"
android:layout_height="wrap_content" />

<TextView
android:id="@android:id/summary"
android:layout_width="0dp"
android:layout_weight="20"
android:layout_height="wrap_content" />

</LinearLayout>

关于android - 有没有办法将搜索栏添加到我的实际首选项屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9012305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com