android widget 动画效果实现

1、widget 生命周期

Widget是android中桌面小控件,创建时必须继承AppWidgetProvider,AppWidgetProvider其实就是继承了BroadcastReceiver的Receiver的一种,widget有以下几个生命周期方法:

1.onEnabled方法:此方法在Widget第一次被创建的时候调用,并且只调用一次,此方法中常放入初始化数据,服务的操作。

2.onReceive方法:同BroadcastReceiver的OnReceive方法,但是这里有所不同的是,当接收到Widget操作时首先调用的是OnReceive方法,然后才是相关的操作方法。每次添加和删除widget都会执行

3.onUpdate:Widget在固定的时间里更新时调用的方法(已失效),每次添加widget都会调用。每次删除不会执行

4.onDeleted:有Widget被删除时调用的方法。

5.onDisabled:对应onEnabled方法,最后一个widget被删除时调用。

2.配置AndroidManifest.xml 

   <receiver android:name="com.example.widgetanimation.WidgetAnim" >
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                <action android:name=&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QMUI 是一款常用的 Android UI 框架,其中提供了丰富的控件和组件,包括实现展开和收起效果的 `QMUIExpandableLayout` 控件。 `QMUIExpandableLayout` 继承自 `FrameLayout`,它可以在垂直方向上展开和收起子 View,同时提供了展开和收起动画效果。 使用 `QMUIExpandableLayout` 实现展开和收起效果的步骤如下: 1. 在布局文件中,将 `QMUIExpandableLayout` 作为子 View 添加到 `FrameLayout` 中。 2. 在 `QMUIExpandableLayout` 中添加需要展开和收起的子 View。 3. 在代码中,调用 `setExpand()` 方法来控制 `QMUIExpandableLayout` 的展开和收起,同时可以设置展开和收起的动画效果。 示例代码如下: ```xml <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <com.qmuiteam.qmui.widget.QMUIExpandableLayout android:id="@+id/expandable_layout" android:layout_width="match_parent" android:layout_height="wrap_content" app:qmui_expandable_content_layout="@layout/layout_expandable_content"> <!-- 添加需要展开和收起的子 View --> </com.qmuiteam.qmui.widget.QMUIExpandableLayout> </FrameLayout> ``` ```java QMUIExpandableLayout expandableLayout = findViewById(R.id.expandable_layout); // 展开 expandableLayout.setExpanded(true, true); // 收起 expandableLayout.setExpanded(false, true); ``` 在上面的示例代码中,`R.id.expandable_layout` 是一个 `QMUIExpandableLayout` 控件的 ID,`@layout/layout_expandable_content` 是展开和收起的子 View 的布局文件。 使用 `QMUIExpandableLayout` 可以非常方便地实现展开和收起效果,并且可以自定义展开和收起的动画效果

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值