一步一步学android控件(之十五) —— DegitalClock & AnalogClock

来源:互联网 发布:mvc,return json(obj) 编辑:程序博客网 时间:2024/06/14 19:00

原本计划DigitalClock和AnalogClock单独各一篇来写,但是想想,两个控件的作用都一样,就和在一起写一篇了。

DegitalClock和AnalogClock控件主要用于显示当前时间信息,使用也很简单。先看效果图:


上面小的长方形为DegitalClock效果图,正方形的为AnalogClock,上图中是用了自定义背景widget_button_drawable.xml,详细内容参见一步一步学android控件(之三) —— Button。今天的主要内容在布局文件中——widget_lclock_layout.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <DigitalClock        android:id="@+id/show_degital_clock"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentRight="true"        android:layout_alignParentTop="true"        android:layout_marginRight="94dp"        android:layout_marginTop="124dp"        android:background="@drawable/widget_button_drawable"        android:textColor="@color/text_view_fill" />    <AnalogClock        android:id="@+id/show_analog_clock"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignRight="@+id/show_degital_clock"        android:layout_below="@+id/show_degital_clock"        android:layout_marginRight="31dp"        android:layout_marginTop="61dp"        android:background="@drawable/widget_button_drawable" /></RelativeLayout>
其中 @color/text_view_fill的值为#e0FFFFCC 。 

activity——WidgetClockActivity 中的内容只有一个函数onCreate:

@Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.widget_lclock_layout);    }
老规矩在ViewData.java中添加如下内容:

public static final int DEGITAL_CLOCK_ID = NUMBER_PICKER_ID + 1;    public static final String DEGITAL_CLOCK_NAME = "DegitalClock";private static final ViewData mDegitalClock = new ViewData(DEGITAL_CLOCK_NAME,            DEGITAL_CLOCK_ID);View_Datas.add(mDegitalClock);

WidgetsAdapter.java的handleItemClicked函数中添加如下内容:

case ViewData.DEGITAL_CLOCK_ID:            intent.setClass(mContext, WidgetClockActivity.class);            mContext.startActivity(intent);            break;


注意:在api17中DegitalClock被deprecated,使用TextClock替代。


DegitalClock和AnalogClock控件就学到这里,下一个控件CheckBox.