美文网首页
Widgets开发流程

Widgets开发流程

作者: 摩卡奇 | 来源:发表于2018-03-07 15:24 被阅读17次
  1. 在com.itheima.mobilesafe.receiver目录下创建MyWidget并且继承AppWidgetProvider
  2. 在功能清单文件注册,参照文档
<receiver android:name=".receiver.MyWidget" >
  <intent-filter>
    <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
  </intent-filter>
        
  <meta-data
        android:name="android.appwidget.provider"
        android:resource="@xml/appwidget_info" />
</receiver>
  1. 在res/xml/创建文件example_appwidget_info.xml拷贝文档内容
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"    
android:minWidth="294dp"    
android:minHeight="72dp"//能被调整的最小宽高,若大于minWidth minHeight 则忽略    
android:updatePeriodMillis="86400000"//更新周期,毫秒,最短默认半小时    
android:previewImage="@drawable/preview"//选择部件时 展示的图像,3.0以上使用,默认是ic_launcher    
android:initialLayout="@layout/example_appwidget"//布局文件
android:configure="com.example.android.ExampleAppWidgetConfigure"//添加widget之前,先跳转到配置的activity进行相关参数配置,这个我们暂时用不到       
android:resizeMode="horizontal|vertical"//widget可以被拉伸的方向。horizontal表示可以水平拉伸,vertical表示可以竖直拉伸
android:widgetCategory="home_screen|keyguard"//分别在屏幕主页和锁屏状态也能显示(4.2+系统才支持)
    android:initialKeyguardLayout="@layout/example_keyguard"//锁屏状态显示的样式(4.2+系统才支持)
>
</appwidget-provider>
  1. 精简example_appwidget_info.xml文件,最终结果:
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="294dp"    
    android:minHeight="72dp"
    android:updatePeriodMillis="1800000"
    android:initialLayout="@layout/appwidget"
   >
</appwidget-provider>
  1. widget布局文件:appwidget.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#f00"
        android:text="我是widget,哈哈哈"
        android:textSize="30sp" />
</LinearLayout>

相关文章

网友评论

      本文标题:Widgets开发流程

      本文链接:https://www.haomeiwen.com/subject/oyijfftx.html