Android Settings修改小记
2016-06-24 10:36
567 查看
1、Android Settings
大部分功能是用Preference+Fragment实现的,其架构布局不同于普通的Android应用开发,如何在Settings
XML代码中跳转到某个activity呢?
方案:
<PreferenceScreen
android:key="ethernet_static_ip_settings"
android:title="@string/category_ethernet" >
<intent
android:action="android.intent.action.MAIN"
android:targetPackage="com.android.settings" android:targetClass="com.android.settings.ethernet.EthernetStaticIP" />
</PreferenceScreen>
2、Settings
编辑框使用的是EditTextPreference,此类不同于EditText控件,不能直接对文本内容添加约束,比如限制内容为数字,控制内容最大长度等等,如何对EditTextPreference内容约束呢?
方案举例:设置EditTextPreference输入内容为数字或者”.”,文本内容最长为20
EditTextPreference preference = (EditTextPreference) findPreference(ip_address);
//设置输入法显示风格
preference.getEditText().setInputType(EditorInfo.TYPE_CLASS_NUMBER);
//编辑框内容监听,输入内容只能为“0123456789.”
DigitsKeyListener mDigitsKeyListener = DigitsKeyListener.getInstance("0123456789.");
preference.getEditText().setKeyListener(mDigitsKeyListener);
//添加过滤器,设置文本内容最大长度为20
preference.getEditText().setFilters(new InputFilter[]{
new InputFilter.LengthFilter(20)});
PS:EditTextPreference类中有方法getEditText(),此方法返回EditText,通过过滤器InputFilter的使用,即可实现对编辑框内容的约束
源码如下:
/**
* Returns the {@link EditText} widget that will be shown in the dialog.
* @return The {@link EditText} widget that will be shown in the dialog.
*/
public EditText getEditText() {
return mEditText;
}
大部分功能是用Preference+Fragment实现的,其架构布局不同于普通的Android应用开发,如何在Settings
XML代码中跳转到某个activity呢?
方案:
<PreferenceScreen
android:key="ethernet_static_ip_settings"
android:title="@string/category_ethernet" >
<intent
android:action="android.intent.action.MAIN"
android:targetPackage="com.android.settings" android:targetClass="com.android.settings.ethernet.EthernetStaticIP" />
</PreferenceScreen>
2、Settings
编辑框使用的是EditTextPreference,此类不同于EditText控件,不能直接对文本内容添加约束,比如限制内容为数字,控制内容最大长度等等,如何对EditTextPreference内容约束呢?
方案举例:设置EditTextPreference输入内容为数字或者”.”,文本内容最长为20
EditTextPreference preference = (EditTextPreference) findPreference(ip_address);
//设置输入法显示风格
preference.getEditText().setInputType(EditorInfo.TYPE_CLASS_NUMBER);
//编辑框内容监听,输入内容只能为“0123456789.”
DigitsKeyListener mDigitsKeyListener = DigitsKeyListener.getInstance("0123456789.");
preference.getEditText().setKeyListener(mDigitsKeyListener);
//添加过滤器,设置文本内容最大长度为20
preference.getEditText().setFilters(new InputFilter[]{
new InputFilter.LengthFilter(20)});
PS:EditTextPreference类中有方法getEditText(),此方法返回EditText,通过过滤器InputFilter的使用,即可实现对编辑框内容的约束
源码如下:
/**
* Returns the {@link EditText} widget that will be shown in the dialog.
* @return The {@link EditText} widget that will be shown in the dialog.
*/
public EditText getEditText() {
return mEditText;
}
相关文章推荐
- 详解Android应用中preference首选项的编写方法
- Android学习笔记之Shared Preference
- Android中删除Preference详解
- Java使用Preference类保存上一次记录的方法
- 2008组策略_Preference部署打印机
- mongodb3.0配置文件的相关说明
- Settings Bundle为程序添加设置项
- win7与xp虚拟机如何实现文件共享
- How To Configure Server Side Transparent Application Failover (文档 ID 460982.1)
- 树莓派视频输出设置
- android中preference介绍
- Settings(系统设置app)
- Preference中添加页面并初始化插件store
- Android学习【9】PreferenceFragment偏好设置(一)
- OC笔记 - 数据存取(2015.3.19)
- Android Settings修改小记
- SecurePreference的添加方法
- 类似系统设置的sharedPreferences
- perl: warning: Falling back to the standard locale ("C"). (Ubuntu repo sync 报错)