There is another solution for customizing the appearance of the preferences.

Design a normal XML layout with buttons or whatever you want to add to the standard preferences. Include a​​ListView​​ in your layout and give it the ID ​​@android:id/list​​.

Let's say we call the layout file ​​res/layout/main.xml​​. It could look something like this:

<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"><Buttonandroid:text="This is a button on top of all preferences."android:layout_width="wrap_content"android:layout_height="wrap_content"/><ListViewandroid:id="@android:id/list"android:layout_width="fill_parent"android:layout_height="fill_parent"/></LinearLayout>


In your ​​PreferenceActivity​​, add these two lines to your ​​onCreate​​:

addPreferencesFromResource(R.xml.preferences);
setContentView(R.layout.main);


The ​​ListView​​ in your layout will then be replaced by the preferences defined the usual way in​​res/xml/preferences.xml​​.