Puede utilizar un selector de bajo recursos animador:
<!-- res/animator/text_size.xml -->
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true">
<set>
<objectAnimator
android:duration="0"
android:propertyName="textSize"
android:valueTo="18sp"
android:valueType="floatType"/>
</set>
</item>
<item android:state_focused="false">
<set>
<objectAnimator
android:duration="0"
android:propertyName="textSize"
android:valueTo="10sp"
android:valueType="floatType"/>
</set>
</item>
</selector>
Usted puede tener 0 de duración para saltar directamente al valor o pon una duración allí.
Luego de usarlo establecer android:stateListAnimator
en su vista:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 3"
android:stateListAnimator="@animator/text_size"/>
tengo la misma pregunta con usted, pero todavía no puedo encontrar la respuesta :) –