本身并没有这样的方法。selector作为根标签只能在animator和drawable资源文件夹下使用。
step1:既然能在animator下创建,那么就用属性动画把字体大小从一个值变到另一个值,不也能达到想要的效果。
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true"> <set> <objectAnimator android:duration="200" android:propertyName="textSize" android:valueFrom="4dp" android:valueto="4.8dp" android:valueType="floatType"/> </set> </item> <item android:state_selected="false"> <set> <objectAnimator android:duration="200" android:propertyName="textSize" android:valueFrom="4.8dp" android:valueto="4dp" android:valueType="floatType"/> </set> </item> </selector>
PS:这里不知为啥4dp的实际效果类似与12dp。
step2:在style中使用该selector。
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="text_style"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:textColor">@drawable/selector_text_color</item> <item name="android:stateListAnimator">@animator/selector_text_size</item> </style> </resources>但是android:stateListAnimator属性只能在values-v21及以上中使用,21以下版本可以另外指定textSize一个固定值。
<style name="text_style"><item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:textColor">@drawable/selector_text_color</item><item name="android:textSize">12dp</item> </style> step3:在textView或者其他控件中引用该style。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。