我该如何展示这样的时钟

时间:2010-06-26 08:50:26

标签: java android calendar clock

我打算以这种方式显示时钟

alt text http://i48.tinypic.com/iylezo.jpg

我已经为时钟做了..而且我不知道如何获得像上面的pic那样的小文本“PM”。

也是MON TUE WED ....

Calendar c = new GregorianCalendar();

 if(c.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY){
    System.out.println("MON");
} else if (c.get(Calendar.DAY_OF_WEEK) == Calendar.TUESDAY){
        System.out.println("TUE");
}

等等。

2 个答案:

答案 0 :(得分:1)

AM / PM指标应该是一个单独的TextView,位于布局中的适当位置,并且android:textSize更小。至少,我就是这样做的。

如果我误解了你的问题,我会道歉,但很难通过“最小化文本”来确定你的意思。

答案 1 :(得分:0)

private ImageView img;
 Handler mHandler;

 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  Thread myThread = null;

  Runnable runnable = new CountDownRunner();
  myThread = new Thread(runnable);
  myThread.start();

 }

 public void doRotate() {

  runOnUiThread(new Runnable() {
   public void run() {
    try {

     Date dt = new Date();
     int hours = dt.getHours();
     int minutes = dt.getMinutes();
     int seconds = dt.getSeconds();
     String curTime = hours + ":" + minutes + "::" + seconds;
     Log.v("log_tag", "Log is here Time is now" + curTime);
     img = (ImageView) findViewById(R.id.imgsecond);
     RotateAnimation rotateAnimation = new RotateAnimation(
       (seconds - 1) * 6, seconds * 6,
       Animation.RELATIVE_TO_SELF, 0.5f,
       Animation.RELATIVE_TO_SELF, 0.5f);

     rotateAnimation.setInterpolator(new LinearInterpolator());
     rotateAnimation.setDuration(1000);
     rotateAnimation.setFillAfter(true);

     img.startAnimation(rotateAnimation);
    } catch (Exception e) {

    }
   }
  });
 }

 class CountDownRunner implements Runnable {
  // @Override
  public void run() {
   while (!Thread.currentThread().isInterrupted()) {
    try {

     doRotate();
     Thread.sleep(1000);
    } catch (InterruptedException e) {
     Thread.currentThread().interrupt();
    } catch (Exception e) {
     Log.e("log_tag", "Error is " + e.toString());
    }
   }
  }
 }