android - Custom Actionbar Sherlock PreferenceActivity ListView -


i use sherlockpreferenceactivity preference activity xml file. code below:

public class setting extends sherlockpreferenceactivity { protected void oncreate(bundle parambundle) {   super.oncreate(parambundle);   addpreferencesfromresource(r.xml.setting); } 

everything work fine need margin left , right 0dip (the pic below) enter image description here

i had try find in abs source code failed custom it. has before?

update: upload more detail image enter image description here

setting.xml content:

<?xml version="1.0" encoding="utf-8"?> <preferencescreen xmlns:android="http://schemas.android.com/apk/res/android" >     <preferencecategory android:title="@string/system_setting" >         <checkboxpreference             android:defaultvalue="true"             android:key="mode_on_off"             android:summaryoff="sub setting 1"             android:summaryon="sub setting 1 on"             android:title="setting 1" />         <checkboxpreference             android:defaultvalue="true"             android:key="filter_on_off"             android:summaryoff="sub setting 2"             android:summaryon="sub setting 2 on"             android:title="setting 2" />         <checkboxpreference             android:defaultvalue="false"             android:key="screen"             android:summaryoff="sub setting 3"             android:summaryon="sub setting 3 on"             android:title="setting 2" />      </preferencecategory> </preferencescreen> 

i managed working - not sure if nicest/cleanest solution, works.

had make following changes:

  1. make copy of actionbaractivity , have new class extend preferenceactivity

    public abstract class actionbarpreferenceactivity extends preferenceactivity { // contents same 'actionbaractivity' }

  2. modify oncreate() in actionbarhelperbase.java - make special case preferenceactivity classes

    @override public void oncreate(bundle savedinstancestate) { // if activity preferenceactivity, don't make request if (!(mactivity instanceof preferenceactivity)) { mactivity.requestwindowfeature(window.feature_custom_title); }

  3. have preferenceactivity extend class , add request feature_custom_title before call super.oncreate()

public class mypreferenceactivity extends actionbarpreferenceactivity {

@override protected void oncreate(bundle savedinstancestate) {     requestwindowfeature(window.feature_custom_title); // add line     super.oncreate(savedinstancestate);     addpreferencesfromresource(r.xml.preferences);     // etc etc }  // etc etc 

} far can tell, changes 2 , 3 needed because preferenceactivity:

"as call super.oncreate(), viewgroup set , so, not allowed change window's parameters." (see oliver's comment answer)

i guess order of how components in preferenceactivity activities created different plain activity activities .


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

qt - Errors in generated MOC files for QT5 from cmake -