PreferenceActivityのレイアウトカスタマイズ
「アカウントと同期の設定」みたいな画面をつくる
「アカウントと同期の設定」画面みたいな画面をつくるにはどうすればよいでしょう。
基本はPreferenceActivityだけど、フッター部分のボタンを追加するには工夫が必要そうです。
自作layoutにpreferenceを載せる方法
PreferenceActivityのレイアウト変更 - テクメモ
上記ページに、自作layoutにpreferenceを載せる方法が紹介されていました。
@android:id/listなListViewを持つlayoutをsetContentViewすると、preferenceが載るListViewを差し替えられるようです。ListViewにlayout_weightを指定しておかないとButtonが表示されませんでした。
SamplePreferenceActivity
public class SamplePrerenceActivity extends PreferenceActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.linear); addPreferencesFromResource(R.xml.pref); } }
linear.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"> <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" /> <LinearLayout android:layout_width="match_parent" android:background="#aaaaaa" android:gravity="center_horizontal" android:paddingTop="10dip" android:layout_height="wrap_content"> <Button android:layout_width="wrap_content" android:text="アカウントを追加" android:layout_height="wrap_content" /> </LinearLayout> </LinearLayout>
実際の表示
上記コードとpref.xmlにより、似たようなレイアウトを実現できました。
買ってよかったAndroidのレイアウト/UI本
Android Layout Cookbook アプリの価値を高める開発テクニック
posted with amazlet at 12.06.10
Android UI Cookbook for 4.0 ICS(Ice Cream Sandwich)アプリ開発術
posted with amazlet at 12.06.10