2013-03-09 5 views
0

Я хочу сделать часы как Jelly Bean (часы, выделенные жирным шрифтом и минуты нормальные), как это изображение: enter image description hereJelly Bean Цифровые часы

я скачал EditClock виджет из Android OpenSource, часы работает, но я не могу make th "Bold" work im, используя этот код: EditClock Source Code im ussing Jelly Bean Fonts. и это часть моего макета

<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> 

Как я могу сделать эту работу? в пряник и вверх? Thanks

ответ

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); 
+0

Да, это работает, но, Смелый он sighly отличается минут, любой его путь, где минут будучи тоньше часов? – Javier

+0

Android не обеспечивает механизм, чтобы «сделать его более смелым» или «сделать его более тонким». Все, с чем вам нужно работать, - это константы стиля Typeface, подобные тем, которые используются в фрагменте кода. Вы можете попробовать использовать пользовательский шрифт, если действительно думаете, что это того стоит. – Karakuri

+0

Кажется, я не могу заставить его работать :(по крайней мере, не так, как я хочу, возможно, это хороший подход, который «выглядит» как то, что я хочу – Javier