Sub Process_Globals
End Sub
Sub Globals
Private lblMaterialIcons As Label
Private Label1 As Label
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("1")
Label1.Text = CombineTextWithMaterialIcons(Chr(0xEB3C) & " 300 Km " & Chr(0xE55F) & Chr(0xE52F) & Chr(0xE530), 1)
End Sub
Sub CombineTextWithMaterialIcons(s As String, aIconRelSize As Float) As RichString
Dim rs As RichString
rs.Initialize(s)
For i = 0 To rs.Length - 1
Log( Asc(s.CharAt(i)))
If Asc(s.CharAt(i)) > 0xe000 Then
rs.TypefaceCustom(lblMaterialIcons.Typeface, i, i + 1)
rs.RelativeSize(aIconRelSize, i, i+1)
rs.Subscript(i, i + 1)
Dim jo As JavaObject = rs
Dim shift As JavaObject
Dim delta As Int = -6dip
shift.InitializeNewInstance(Application.PackageName & ".main$VerticalAlignedSpan", Array(delta))
jo.RunMethod("setSpan", Array(shift, i, i + 1, 0))
End If
Next
Return rs
End Sub
#if Java
import android.text.style.*;
import android.graphics.Paint;
import android.text.TextPaint;
public static class VerticalAlignedSpan extends MetricAffectingSpan {
int shift;
public VerticalAlignedSpan(int shift) {
this.shift = shift;
}
@Override
public void updateDrawState(TextPaint tp) {
tp.baselineShift += shift;
}
@Override
public void updateMeasureState(TextPaint tp) {
tp.baselineShift += shift;
}
}
#End If