Android 首选项活动和自定义搜索栏布局

Android 首选项活动和自定义搜索栏布局,android,seekbar,preferenceactivity,preferencescreen,Android,Seekbar,Preferenceactivity,Preferencescreen,我发现这个网站非常有用: 它显示了一个自定义seekbar首选项实现。我的问题是,我的preferencescreen中有几个listpreference项,我还喜欢实现一个seekbar pref。为此,我必须扩展Preference类并提供一个布局,该布局将在preferencescreen的listview中使用 问题是,标准的listpreferences具有相同的布局高度,而我的seekbar pref具有另一个高度……但我希望在不同的android版本(2.2-4.2)上,Prefe

我发现这个网站非常有用:

它显示了一个自定义seekbar首选项实现。我的问题是,我的preferencescreen中有几个listpreference项,我还喜欢实现一个seekbar pref。为此,我必须扩展Preference类并提供一个布局,该布局将在preferencescreen的listview中使用

问题是,标准的listpreferences具有相同的布局高度,而我的seekbar pref具有另一个高度……但我希望在不同的android版本(2.2-4.2)上,Preferences屏幕中的所有pref具有相同的大小(高度)。文本的大小和颜色也略有不同


是否有办法获取标准的android PreferenceActivity layout属性值或任何其他解决方案?

用xml布局替换代码,并将
android:minHeight=“?android:attr/listPreferredItemHeight”
添加到根元素。您可以在“android sdk windows\platforms\android-8\data\res\layout\preference.xml”等文件中找到首选项的默认布局您好,谢谢您的回答。这不管用吗?不知道为什么。。。linearLayoutSeekBar.setMinimumHeight(R.attr.listPreferredItemHeight);获取一个ex:01-08 22:18:15.006:E/AndroidRuntime(374):java.lang.IllegalArgumentException:位图大小超过32位类似的方法,但我不知道确切的语法:`
TypedArray a=this.getApplication().getheme().getainstyledattributes(android.R.styleable.Theme);int height=a.getInteger(R.styleable.Theme\u listPreferredItemHeight,0);linearLayoutSeekBar.setMinimumHeight(height)
我只找到R.style.Theme,但那只是一个int,而不是数组。顺便说一下,我从布局文件夹复制了preference.xml。因此,这在android<4.0上运行良好。但是,由于4.0还包含一个Holo主题,这是一个特殊的首选项\u Holo.xml和其他布局属性…当我复制它时,我得到一个错误:没有找到与给定名称@dimen/preference\u item\u padding\u inner匹配的资源。。。所以…我想我必须用我的自定义项制作一个ListActivity…并手动保存值…或者我只需要一个listpreference。。。