@@ -533,7 +533,7 @@ function setTextDecoration(view: android.widget.TextView, value: string) {
533533 view . setPaintFlags ( flags ) ;
534534 } else {
535535 view . setPaintFlags ( 0 ) ;
536- }
536+ }
537537}
538538
539539function setTextTransform ( view : android . widget . TextView , value : string ) {
@@ -1016,11 +1016,72 @@ export class TabViewStyler implements definition.stylers.Styler {
10161016 }
10171017 }
10181018
1019+ // font
1020+ private static setFontInternalProperty ( view : view . View , newValue : any , nativeValue : any ) {
1021+ var tab = < tabView . TabView > view ;
1022+ var fontValue = < font . Font > newValue ;
1023+ var typeface = fontValue . getAndroidTypeface ( ) ;
1024+
1025+ if ( tab . items && tab . items . length > 0 ) {
1026+ var tabLayout = tab . _getAndroidTabView ( ) ;
1027+
1028+ for ( var i = 0 ; i < tab . items . length ; i ++ ) {
1029+ let tv = tabLayout . getTextViewForItemAt ( i ) ;
1030+ if ( typeface ) {
1031+ tv . setTypeface ( typeface ) ;
1032+ }
1033+ else {
1034+ tv . setTypeface ( nativeValue . typeface ) ;
1035+ }
1036+
1037+ if ( fontValue . fontSize ) {
1038+ tv . setTextSize ( fontValue . fontSize ) ;
1039+ }
1040+ else {
1041+ tv . setTextSize ( android . util . TypedValue . COMPLEX_UNIT_PX , nativeValue . size ) ;
1042+ }
1043+ }
1044+ }
1045+ }
1046+
1047+ private static resetFontInternalProperty ( view : view . View , nativeValue : any ) {
1048+ var tab = < tabView . TabView > view ;
1049+
1050+ if ( tab . items && tab . items . length > 0 ) {
1051+ var tabLayout = tab . _getAndroidTabView ( ) ;
1052+
1053+ for ( var i = 0 ; i < tab . items . length ; i ++ ) {
1054+ let tv = tabLayout . getTextViewForItemAt ( i ) ;
1055+ tv . setTypeface ( nativeValue . typeface ) ;
1056+ tv . setTextSize ( android . util . TypedValue . COMPLEX_UNIT_PX , nativeValue . size ) ;
1057+ }
1058+ }
1059+ }
1060+
1061+ private static getNativeFontInternalValue ( view : view . View ) : any {
1062+ var tab = < tabView . TabView > view ;
1063+ var tv : android . widget . TextView = tab . _getAndroidTabView ( ) . getTextViewForItemAt ( 0 ) ;
1064+ if ( tv ) {
1065+ return {
1066+ typeface : tv . getTypeface ( ) ,
1067+ size : tv . getTextSize ( )
1068+ }
1069+ }
1070+ else {
1071+ return null ;
1072+ }
1073+ }
1074+
10191075 public static registerHandlers ( ) {
10201076 style . registerHandler ( style . colorProperty , new stylersCommon . StylePropertyChangedHandler (
10211077 TabViewStyler . setColorProperty ,
10221078 TabViewStyler . resetColorProperty ,
10231079 TabViewStyler . getColorProperty ) , "TabView" ) ;
1080+
1081+ style . registerHandler ( style . fontInternalProperty , new stylersCommon . StylePropertyChangedHandler (
1082+ TabViewStyler . setFontInternalProperty ,
1083+ TabViewStyler . resetFontInternalProperty ,
1084+ TabViewStyler . getNativeFontInternalValue ) , "TabView" ) ;
10241085 }
10251086}
10261087
0 commit comments