1、初探 CheckedTextView
- a 什么是CheckedTextView?
- b 怎么使用?
和正常的textView一样使用 ,多了一个textAlignment属性
- c 使用的场景 :说到实现单选、多选大部分人肯定是选择:RadioGroup + RadioButton 和 CheckBox。但针对选项个数的不定以及内容的多变,通过RadioButton与CheckBox实现则显得不那么优雅......;
那你就可以选择这个CheckedTextView控件来一展宏图了
简单实现网上和pd的要求复选框 和单选框的一些需求,由于代码比较简单,所以就不提供这个CheckedTextView代码的demo,
今天的主角主要是讲的是: supportsRtl属性影响TextView的textAlignment属性
前段时间项目里用的CheckedTextView控件 的文字均无法居中,最后发现项目的其中某个module包含了 android:supportsRtl=true 这个属性了。
那来聊聊什么是supportsRtl
android:supportsRtl
Declares whether your application is willing to support right-to-left (RTL) layouts.
If set to true and targetSdkVersion is set to 17 or higher, various RTL APIs will be activated and used by the system so your app can display RTL layouts. If set to false or if targetSdkVersion is set to 16 or lower, the RTL APIs will be ignored or will have no effect and your app will behave the same regardless of the layout direction ass ociated to the user's Locale choice (your layouts will always be left-to-right).
官网原文链接:http://developer.android.com/intl/zh-cn/guide/topics/manifest/application-element.html
声明你的application是否愿意支持从右到左(原来RTL就是right-to-left 的缩写.)的布局。
如果设置为true,targetSdkVersion设置为17或更高,各种RTL的API将被激活,系统使用您的应用程序可以显示RTL布局。如果targetSdkVersion设置为16或更低的设置为false,RTL的API将被忽略或没有影响您的应用程序将具有相同的行为无论对用户现场的选择相关的布局方向(你的布局会从左至右)。
此属性的默认值是false。
此属性被添加到API 17。
所以项目中所有的CheckedTextView设置的textAlignment属性设置成center还是无法居中。
原因是android在构建的时候会合并清单文件,并将module中的清单文件合并到主项目中,如果出现的冲突,编译器会直接抛出编译错误。你可以删掉 android:supportsRtl 这个属性 或者 改为android:supportsRtl=false
最好起见 你在主项目的清单文件设置android:supportsRtl=false,这moudle或者其它第三方带有这个属性的,在androidstudio编译的时候,就会报错提醒开发人员进行手动的修改。