![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Launcher
网络卷毛
这个作者很懒,什么都没留下…
展开
-
Android9.0 Launcher启动Activity详解(一)
一.开始Launcher中点击应用图标启动Activity,其开始方法是public boolean startActivitySafely(View v, Intent intent, ItemInfo item) { if (mIsSafeModeEnabled && !Utilities.isSystemApp(this, intent)) { Toast.makeText(this, R.string.safemode_shortcu原创 2020-12-22 19:26:49 · 931 阅读 · 0 评论 -
Launcher3 壁纸解析(一) 设置默认壁纸
一.Launcher中设置默认壁纸在Launcher的onCreate方法中调用下面方法实现privatevoidsetDefaultWallpaper(){WallpaperManagerwm=(WallpaperManager)getSystemService(Context.WALLPAPER_SERVICE); try{...原创 2019-02-20 17:24:14 · 1485 阅读 · 0 评论 -
Launcher3 壁纸解析(二)动态壁纸自定义
一.什么是动态壁纸动态壁纸是通过自定义Service继承WallpaperService,实现onCreateEngine方法,在该方法中返回Engine,该Engine中可以绘制图像,视频,Gif动画等来呈现壁纸二.自定义Service1.自定义Service继承WallpaperServicepublic class LiveWallpaperService extends ...原创 2019-02-22 09:47:09 · 633 阅读 · 0 评论 -
Launcher3 定制桌面行列数
一.Launcher3默认显示行列数是通过device_profiles.xml这个文件配置的,文件内容是<profiles xmlns:launcher="http://schemas.android.com/apk/res-auto" > <profile launcher:name="Super Short Stubby" ...原创 2019-01-09 17:56:23 · 925 阅读 · 0 评论 -
Launcher3 Widget拖拽到桌面的流程分析
一:交互图长按Launcher进入OverView Panel界面,点击WIDGETS进入Widgets界面,拖拽widgets到Launcher桌面,显示widget到桌面,完成widget的显示操作二:逻辑思路1.WidgetsContainerView为显示所有Widgets的View,初始化在Launcher的onCreate方法中调用setupViews方法初始化2...原创 2019-01-09 17:40:54 · 819 阅读 · 0 评论 -
Launcher3 怎么创建一个Widget
参考博客https://www.cnblogs.com/skywang12345/p/3158310.html一.Widget是什么Launcher中除了app,还有一些小部件作为各个app的延伸功能二.Widget的创建1,创建Widget工程2.编辑AndroidManifest.XML文件 <receiver android:name=".wi...原创 2019-01-10 14:14:57 · 664 阅读 · 0 评论 -
Launcher3 数据库初始化分析
一.初始化创建launcher.db数据库,数据库里创建了两张表,分别是favorites和workspaceScrrens。1.其表结构为: 2.内容为,举例:3.字段含义: _id:用于标识区分各个应用图标,是表favorites的主键,当添加数据时通过generateNewId使_id值增加。 title:在WorkSpace(HotSeat中一...原创 2019-01-14 16:52:58 · 1581 阅读 · 2 评论 -
Launcher3 UI初始化分析
一. 入口Launcher类,在其onCreate方法中初始化 @Override protected void onCreate(Bundle savedInstanceState) { if (DEBUG_STRICT_MODE) { StrictMode.setThreadPolicy(new StrictMode.ThreadPoli...原创 2019-01-14 13:18:15 · 531 阅读 · 0 评论 -
Launcher3 UI初始化 布局的动态设置
一.Launcher3中各个控件的大小在不同的设备上,初始化大小是不一样的,为了屏幕适配,需要动态的去设置布局大小,布局大小的设置是在Launcher3的onCreate方法中,调用了mDeviceProfile.layout(this, false),代码是:public void layout(Launcher launcher, boolean notifyListeners) { ...原创 2019-01-11 14:26:08 · 438 阅读 · 0 评论 -
Launcher3 RemoteView介绍和应用
一.RemoteView是什么RemoteView并不是View,它的父类是Object,它主要应用在通知栏和桌面小部件。二.RemoteView的使用RemoteView中的点击事件传递通过PengdingIntent实现,PengdingIntent实现启动Activity、启动Service和发送广播flags的模式有:三.RemoteView的原理Remot...原创 2019-01-10 16:01:47 · 569 阅读 · 0 评论