Android Settings修改小记

Android Settings修改小记android:summary="@string/upgrade_summary">
2、Settings中的

欢迎大家来到IT世界,在知识的湖畔探索吧!

1、Settings代码中大部分UI用Fragment+Preference方式呈现,如何在XML中设置点击子选项跳转到某个activity?

方案举例:

<PreferenceScreen

android:title=”@string/upgrade_by_local”

android:summary=”@string/upgrade_summary”>

<!– 点击时 自定义一个默认跳转Intent action –>

<!– action指定隐式Intent ; targetPackage和targetClass指定显示Intent–>

<intent

android:action=”android.intent.action.MAIN”

android:targetPackage=”com.android.settings”

android:targetClass=”com.android.settings.upgrade.SystemLocalUpgradeActivity” />

</PreferenceScreen>

2、Settings中的编辑框使用的是EditTextPreference,此类不能像EditText一样直接添加文本控制属性,如设置输入内容长度、数据类型等,如何控制编辑框里面输入内容属性?

方案举例:设置文本内容为数字类型,且只能监听数字和”.”,文本长度

EditTextPreference preference = (EditTextPreference) findPreference(“ip_address”);

//设置输入法显示风格

preference.getEditText().setInputType(EditorInfo.TYPE_CLASS_NUMBER);

//设置按键监听内容

DigitsKeyListener mDigitsKeyListener = DigitsKeyListener.getInstance(“0123456789.”);

preference.getEditText().setKeyListener(mDigitsKeyListener);

//设置内容最大长度

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;

}

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/30224.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信