首先在attrs中定义属性:
1 | <?xml version= "1.0" encoding= "utf-8" ?> |
4 | <declare-styleable name= "tabStyleable" > |
5 | <attr name= "tabPageIndicatorStyle" format= "reference" /> |
6 | <attr name= "tabTextStyle" format= "reference" /> |
然后使用这些属性:
1 | <!-- Application theme. --> |
2 | <style name= "AppTheme" parent= "AppBaseTheme" > |
4 | <item name= "tabPageIndicatorStyle" > @style /Widget.TabPageIndicator</item> |
5 | <item name= "tabTextStyle" > @style /Widget.TabPageIndicator.Text</item> |
最后定义样式:
01 | <?xml version= "1.0" encoding= "utf-8" ?> |
05 | <style name= "Widget" ></style> |
07 | <style name= "Widget.TabPageIndicator" parent= "Widget" > |
08 | <item name= "android:gravity" >center_horizontal</item> |
09 | <item name= "android:background" > @drawable /tab_indicator</item> |
10 | <item name= "android:paddingLeft" >22dip</item> |
11 | <item name= "android:paddingRight" >22dip</item> |
12 | <item name= "android:paddingTop" >12dp</item> |
13 | <item name= "android:paddingBottom" >12dp</item> |
15 | <style name= "Widget.TabPageIndicator.Text" parent= "Widget" > |
16 | <item name= "android:textAppearance" > @style /TextAppearance.TabPageIndicator</item> |
17 | <item name= "android:textColor" > @color /black</item> |
18 | <item name= "android:textSize" >12sp</item> |
19 | <item name= "android:textStyle" >bold</item> |
20 | <item name= "android:maxLines" > 1 </item> |
23 | <style name= "TextAppearance.TabPageIndicator" parent= "Widget" > |
最后指定什么控件使用这个属性和样式:
01 | <?xml version= "1.0" encoding= "utf-8" ?> |
05 | class = "com.demo.view.tab.TabView" |
06 | style= "?attr/tabPageIndicatorStyle" > |
08 | android:id= "@android:id/text1" |
09 | android:layout_width= "wrap_content" |
10 | android:layout_height= "wrap_content" |
11 | android:gravity= "center" |
12 | style= "?attr/tabTextStyle" /> |
转载于:https://www.cnblogs.com/wsfjlagr/p/3702561.html