使用xml写一个关于textSize的selector
发布时间:2020-12-16 08:07:58 所属栏目:百科 来源:网络整理
导读:本身并没有这样的方法。selector作为根标签只能在animator和drawable资源文件夹下使用。 step1:既然能在animator下创建,那么就用属性动画把字体大小从一个值变到另一个值,不也能达到想要的效果。 ?xml version="1.0" encoding="utf-8"?selector xmlns:and
本身并没有这样的方法。selector作为根标签只能在animator和drawable资源文件夹下使用。
<?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。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |