// Drive along XXX
distance = mNavigateData.getCurrentToNextTurnDistance();
// 200 meters
distanceText = GISUtils.formatDistance(distance, GISUtils.DistanceUnit.CN);
matcher = NUMBER_PATTERN.matcher(distanceText);
start = 0;
end = 0;
if (matcher.find()) {
start = matcher.start();
end = matcher.end();
}
numberDistance = distanceText.substring(start, end);
unite = distanceText.substring(end, distanceText.length());
distanceSize = R.dimen.F22;
driveNumSize = R.dimen.F24;
suffixSize = R.dimen.F14;
String yan = YAN + mRoadName;
SpannableStringBuilder yanStyle = new SpannableStringBuilder(yan);
yanStyle.setSpan(new AbsoluteSizeSpan(LayoutUtils.getPxByDimens(suffixSize)), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
yanStyle.setSpan(new AbsoluteSizeSpan(LayoutUtils.getPxByDimens(distanceSize)), 1, yan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
String driveNum = typeKey + numberDistance + unite;
SpannableStringBuilder driveNumStyle = new SpannableStringBuilder(driveNum);
driveNumStyle.setSpan(new AbsoluteSizeSpan(LayoutUtils.getPxByDimens(suffixSize)), 0, typeKey.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
driveNumStyle.setSpan(new AbsoluteSizeSpan(LayoutUtils.getPxByDimens(driveNumSize)), typeKey.length(), typeKey.length() + numberDistance.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
driveNumStyle.setSpan(new AbsoluteSizeSpan(LayoutUtils.getPxByDimens(suffixSize)), typeKey.length() + numberDistance.length(), driveNum.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tvDistance.setText(yanStyle);
tvRoadName.setText(driveNumStyle);