編輯:關於Android編程
有的時候,我們做的程序需要提供一些選項的功能,能讓用戶去定制化他們自己的使用風格。舉個例子,你可能允許用戶是否自動保存登錄信息,允許用戶自己設定某個頁面的刷新時間等等。在Android平台上面,我們可以使用PreferenceActivity基類去顯示給用戶一個選項設置的界面。在Android3.0或更高的版本上,可以使用PreferenceFragment類去實現這個功能。
下面將展示如何去創建和使用PreferenceFragment。
1、創建一個工程:PreferenceFragmentExample。
2、在res文件夾下面新建一個xml文件夾,在xml文件夾下面新建一個文件:preferences.xml。
[html]
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Category 1">
<CheckBoxPreference
android:title="Checkbox"
android:defaultValue="false"
android:summary="True of False"
android:key="checkboxPref" />
</PreferenceCategory>
<PreferenceCategory android:title="Category 2">
<EditTextPreference
android:name="EditText"
android:summary="Enter a string"
android:defaultValue="[Enter a string here]"
android:title="Edit Text"
android:key="editTextPref" />
<RingtonePreference
android:name="Ringtone Preference"
android:summary="Select a ringtone"
android:title="Ringtones"
android:key="ringtonePref" />
<PreferenceScreen
android:title="Second Preference Screen"
android:summary=
"Click here to go to the second Preference Screen"
android:key="secondPrefScreenPref">
<EditTextPreference
android:name="EditText"
android:summary="Enter a string"
android:title="Edit Text (second Screen)"
android:key="secondEditTextPref" />
</PreferenceScreen>
</PreferenceCategory>
</PreferenceScreen>
3、在包路徑下面新建一個類:Fragment1.java。
[html]
public class Fragment1 extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 從xml文件加載選項
addPreferencesFromResource(R.xml.preferences);
}
}
4、PreferenceFragmentExampleActivity.java(主活動)的代碼。
[java]
public class PreferenceFragmentExampleActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction =
fragmentManager.beginTransaction();
Fragment1 fragment1 = new Fragment1();
fragmentTransaction.replace(android.R.id.content, fragment1);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
}
5、按F11在模擬器上面調試。
6、點擊第二行,就會顯示一個窗口。
7、使用DDMS工具,就會看見在本應用的包路徑下面會生成一個xml文件。
如果想創建一個列表樣式的選項,首先,我們需要先創建preferences.xml文件,然後在這個文件裡面填充各種元素。
然後,我們需要一個繼承PreferenceFragment的子類:
[html]
public class Fragment1 extends PreferenceFragment {}
接下來,我們使用addPreferencesFromResource()方法去加載xml文件:
[html]
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 從xml文件加載選項
addPreferencesFromResource(R.xml.preferences);
}
最後,我們要把這個Fragment1顯示在活動中,這時,我們需要使用FragmentManager和FragmentTrasaction:
[java]
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction =
fragmentManager.beginTransaction();
Fragment1 fragment1 = new Fragment1();
fragmentTransaction.replace(android.R.id.content, fragment1);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
關於碎片就講到這裡了,下一個部分將會講解菜單。很簡單。歡迎大家提出寶貴的意見。
今天有空學習了下CardView的使用,既然是使用,不凡使用一個實例操作一下CardView是Android5.0的新控件,所以我們需要在dependencies中添加支
背景故事:4月份從公司回到學校,要開始著手做大四的畢業設計。然而畢設的其中一個功能模塊便是——心情分享模塊,在記錄心情的同時可以把心情分享到朋友圈
從Demo3開始,接下來會介紹Design Support組件庫中幾個常用的組件,首先就先從Design Support Library開始說起。Android Des
在開始之前可以先了解一些NFC的的基礎知識。 感謝Eternal_memory 和 SkySeraph部分解析BaseMethodWebActivity是Act