首先,在style.xml文件中添加两个自定义样式
<style name="defaultTextStyle" parent="@android:style/TextAppearance"> <item name="android:textSize">12sp</item> <item name="android:textColor">@android:color/black</item> <item name="android:gravity">center</item> <item name="android:layout_gravity">center_horizontal</item> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:background">#000044</item> <item name="android:drawableLeft">@drawable/ic_launcher</item> </style> <style name="selectedTextStyle" parent="@android:style/TextAppearance"> <item name="android:textSize">16sp</item> <item name="android:textColor">@android:color/holo_blue_dark</item> <item name="android:gravity">center</item> <item name="android:layout_gravity">center_horizontal</item> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:background">#000088</item> <item name="android:drawableRight">@drawable/ic_launcher</item> </style>
其次,通过setTextAppearance设置textview样式
public void change(int i){ switch(i){ case 1: tab1.setTextAppearance(getApplicationContext(), R.style.selectedTextStyle); tab2.setTextAppearance(getApplicationContext(), R.style.defaultTextStyle); tab3.setTextAppearance(getApplicationContext(), R.style.defaultTextStyle); break; case 2: tab1.setTextAppearance(getApplicationContext(), R.style.defaultTextStyle); tab2.setTextAppearance(getApplicationContext(), R.style.selectedTextStyle); tab3.setTextAppearance(getApplicationContext(), R.style.defaultTextStyle); break; case 3: tab1.setTextAppearance(getApplicationContext(), R.style.defaultTextStyle); tab2.setTextAppearance(getApplicationContext(), R.style.defaultTextStyle); tab3.setTextAppearance(getApplicationContext(), R.style.selectedTextStyle); break; } }