小组件widget

来源:互联网 发布:8月份经济数据 编辑:程序博客网 时间:2024/05/17 08:04

1.创建一个组建类:继承AppwidgetProvider父类

public class TimeWidget extends AppWidgetProvider {

/**

* 定义一个

*/

//该方法被调用的时机有两种,1.在appwidgetprovider中描述的更新时间间隔到了的时候

//2.当用户在桌面上,添加同种类型的小组件的时候,会回调该放法。

@Override

public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {

Log.i("TAG", "ONUPDATE");

// TODO Auto-generated method stub

super.onUpdate(context, appWidgetManager, appWidgetIds);

long time=System.currentTimeMillis();

SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd:HH-mm-ss");

String currentTime=format.format(new Date(time));

RemoteViews remoteViews=new RemoteViews(context.getPackageName(), R.layout.tinewidget);

remoteViews.setTextViewText(R.id.textView_time, currentTime);

appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);

}

}

2.定义小组件的布局文件(res/layout)

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

    android:background="@drawable/widget_dg">

    <TextView

        android:id="@+id/textView_time"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignParentLeft="true"

        android:layout_alignParentTop="true"

        android:layout_marginLeft="26dp"

        android:layout_marginTop="25dp"

        android:text="TextView"

        android:textSize="24sp" />

</RelativeLayout>

3.定义小组件的属性描述文件AppwidgetProviderInfo

<?xml version="1.0" encoding="utf-8"?>

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" 

    android:minWidth="120dp"

    android:minHeight="60dp"

    android:updatePeriodMillis="0"

    android:initialLayout="@layout/tinewidget"

    >

</appwidget-provider>


4.在清单文件中配置小组件

<receiver android:name="com.example.widget.TimeWidget" >

            <intent-filter>

                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />

            </intent-filter>



            <meta-data

                android:name="android.appwidget.provider"

                android:resource="@xml/jkjkdf" />

        </receiver>


0 0
原创粉丝点击