我想制作一个像果冻豆一样的时钟(小时以粗体显示,分钟正常),如下图所示:
我从Android openSource下载了EditClock小部件,时钟有效,但我无法使用此代码使“Bold”工作: EditClock Source Code 使用果冻豆字体。 这是我布局的一部分
<com.myApp.views.DigitalClock
android:id="@+id/digitalClock1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/musicDashboard"
android:layout_centerHorizontal="true" >
<TextView android:id="@+id/timeDisplayBackground"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:textColor="#ffffffff"
android:textSize="@dimen/clock_text_size"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_marginBottom="6dip"
android:ellipsize="none"
/>
<TextView android:id="@+id/timeDisplayForeground"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="none"
android:textStyle="bold"
android:textColor="#ffffffff"
android:layout_alignStart="@+id/timeDisplayBackground"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_alignTop="@+id/timeDisplayBackground"
android:layout_marginBottom="6dip"
android:textSize="@dimen/clock_text_size"
/>
</com.myApp.views.DigitalClock>
我怎样才能做到这一点?在姜饼和向上? 感谢
答案 0 :(得分:1)
您可以修改DigitalClock小部件的代码,以在文本的第一部分周围添加Span。在updateTime()
方法中尝试此代码:
CharSequence newTime = DateFormat.format(mFormat, mCalendar);
SpannableString spannable = new SpannableString(newTime);
int endIndex = spannable.indexOf(':');
spannable.setSpan(new StylePan(Typeface.BOLD), 0, endIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mTimeDisplayBackground.setText(spannable);
mTimeDisplayForeground.setText(spannable);
mAmPm.setIsMorning(mCalendar.get(Calendar.AM_PM) == 0);