Android:如何制作自定义的PreferenceScreen?

我想创build一个PreferenceScreen,但我想像整个项目的活动devise。

如何创build一个自定义的PreferenceScreendevise?

Solutions Collecting From Web of "Android:如何制作自定义的PreferenceScreen?"

我认为这是你正在寻找的东西。

PreferenceScreen screen = createPreferenceHierarchy(); 

..
this.setContentView(rootView); =>我想你可以从XML布局也设置它。

 setPreferenceScreen(screen); 

是的,这是可行的。 道歉的布局,我的粘贴似乎从来没有保持正确的格式,但内容工程…

Preferences.java

  import android.content.Intent; import android.os.Bundle; import android.preference.PreferenceActivity; import android.view.View; import android.widget.Button; public class Preferences extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.preference_holder); addPreferencesFromResource(R.layout.preferences); Button backButton = (Button) findViewById(R.id.backPrefBurron); backButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { Intent myIntent = new Intent(getBaseContext(), BTFirstTab.class); startActivity(myIntent); } }); } } 

然后是一个喜好holder.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <LinearLayout android:orientation="horizontal" android:background="@color/bto_dark_green" android:layout_width="fill_parent" android:gravity="center_vertical" android:layout_height="wrap_content" android:paddingTop="4dip"> <Button android:id="@+id/backPrefBurron" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Home" /> <TextView android:id="@+id/backText" android:textSize="14dip" android:paddingLeft="5dip" android:textColor="@color/white" android:textStyle="bold" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0" android:text="Preferences: Home will update all areas of the app" /> </LinearLayout> <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout> 

然后是preferences.xml

 <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:background="@color/bto_light_green"> <EditTextPreference android:title="Your BTO UserName" android:key="username" android:summary="Please provide your username"> </EditTextPreference> <EditTextPreference android:title="Your BTO Password" android:password="true" android:key="password" android:summary="Please provide your password (case sensitive)"></EditTextPreference> <ListPreference android:title="Species order" android:summary="This preference selects the species order for some viewing sightings activities" android:key="speciesorder" android:defaultValue="date_order" android:entries="@array/listArray" android:entryValues="@array/listValues"></ListPreference> </PreferenceScreen> 

这样我有一个共同的标题,我在其他网页中使用。