android 首选项框架,Android:创建自定义首选项

婷婷同学_
这就是我使用支持库的方法preference-v7。扩展 Preference和覆盖onBindViewHolder()。此方法使您可以通过ViewHolder对象获取对首选项视图的引用。使用setWidgetLayoutResource()或setLayoutResource()在构造函数中膨胀自定义视图。禁用整个首选项视图的默认单击行为,并且仅允许单击内部的自定义视图。layout / preference_theme.xml PreferenceTheme.java(自定义Preference类)import android.support.v7.preference.Preference;import android.support.v7.preference.PreferenceViewHolder;public class PreferenceTheme extends Preference { public PreferenceTheme(Context context, AttributeSet attrs) { this(context, attrs, 0); } public PreferenceTheme(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); setWidgetLayoutResource(R.layout.preference_theme); } @Override public void onBindViewHolder(PreferenceViewHolder holder) { super.onBindViewHolder(holder); holder.itemView.setClickable(false); // disable parent click View button = holder.findViewById(R.id.theme_dark); button.setClickable(true); // enable custom view click button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // persist your value here } }); // the rest of the click binding }}preferences.xml ...
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
