我有一个PreferenceFragment子类。我希望它的每个项目(Preferences和SwitchPreferences)具有120dp的高度。怎么做?更改偏好项的高度
下面是相关的代码:
public class SettingsFragment extends PreferenceFragment {
public SettingsFragment() {}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.main);
}
}
和
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<SwitchPreference android:key="app_main_switch"
android:title="@string/app_name"
android:defaultValue="true"/>
<Preference android:title="@string/events_lowercase"
android:dependency="app_main_switch">
<intent android:targetPackage="hu.ppke.itk.marma.android.bead"
android:targetClass="hu.ppke.itk.marma.android.bead.EventList"/>
</Preference>
<Preference android:title="@string/filters_lowercase"
android:dependency="app_main_switch">
<intent android:targetPackage="hu.ppke.itk.marma.android.bead"
android:targetClass="hu.ppke.itk.marma.android.bead.FilterList"/>
</Preference>
<SwitchPreference android:dependency="app_main_switch"
android:key="learn_switch"
android:defaultValue="false"
android:title="@string/learning"/>
</PreferenceScreen>
这里是如何看起来像现在:
所以我希望所有四个项目的列表具有120dp的高度。正如你所看到的,我不是创建ListView的人,它是在内部创建的。我试图通过
findViewById(android.R.id.list)
但它迭代其元素给出不允许我设置高度的偏好设置对象。
你能告诉我们一些代码吗?这将有助于确定并解决您的问题。 – MattMatt
谢谢,尝试创建一个扩展SwitchPreference的自定义Preference类并在preference.xml中使用它。看到我的回答 – MattMatt