前言          欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net          雨季o莫忧离:http://blog.csdn.net/luckkof 正文 Launcher3/src/com/android/launcher3/ 1. AppsCustomizePagedView.java    public static boolean DISABLE_ALL_APP…
最近有人在QQ中问我,在与portal集成时,客户不想显示maximo的主菜单,以前也有过朋友问过我这个问题,被我忽悠过去了,现在想起来,是不对的! 经过一翻查找,发现maximo有一个参数,portalmode=true 好像有这个功能,但是,试发后,发现如下面的效果,不是客户想要的效果.…
需求: 1. 用android系统launcher 隐藏主菜单 所有应用显示在桌面 即workspace上: 2.隐藏launcher上方默认的google search: 3.切换一套launcher主题. 实现效果: 分析: 1. 隐藏主菜单 ,google默认在android L 版本有一个隐藏主菜单的开关--LauncherAppState.isDisableAllApps() 返回 true 隐藏,返回 false 显示. 2.隐藏google search ,有好多方法.比较简单 ,…
本文介绍一个超简单的自己定义主菜单.效果例如以下: 原理:事实上就是对原生的Dialog的一个简单的封装.并加上显示和隐藏的动画效果.再给控件加上回调事件. TestDialog.java public class TestDialog implements OnClickListener { private Context mContext; private Dialog mDialog; private Display mDisplay; private TextView mTitle; p…
今天主要是分析一下Launcher里面的所有应用列表.Android4.0 Launcher的所有应用列表跟2.X比较大的区别就是多了Widget的显示.下面会详细分析Launcher里面有关所有应用列表配置和代码分析. 1.AllApp列表配置文件 配置AllAPP应用列表界面的配置文件是\res\Layout\apps_customize_pane.xml文件.AllAPP列表使用了一个TabHost组织了两个页面(全部应用和Widget),通过界面上面的TabHost进行切换.下面是Tab…
这份源码是基于2.1的launcher2,以后版本虽有变化,但大概的原理一直还是保留了. 一.主要文件和类  1.Launcher.java:launcher中主要的activity. 2.DragLayer.java:launcher layout的rootview.DragLayer实际上也是一个抽象的界面,用来处理拖动和对事件进行初步处理然后按情况分发下去,角色是一个controller.它首先用onInterceptTouchEvent(MotionEvent)来拦截所有的touch事件…
最近在学习Android Launcher的相关知识,在github上找到可以在Android studio上编译的Launcher 3代码,地址:https://github.com/rydanliu/Launcher3 Launcher 3的界面主要由SearchDropTargetBar.Workspace.CellLayout.PageIndicator.Hotseat组成.如下图: Launcher 3 最主要的是一个Activity,基本上所有操作都集中在这个Activity上.这个…
已经很久没更新Launcher系列文章,今天不分析源码,讲讲如何在Launcher里面添加桌面设置的功能.目前很多第三方Launcher或者定制Rom都有简单易用的桌面设置功能.例如小米MIUI的Launcher就有很丰富编辑功能.今天开始会讲一下如何实现桌面编辑功能.网上对于实现Launcher一些编辑功能的文章凤毛麟角,基本没什么资料可以参考,只能靠自己摸索对比别人Launcher的效果. 桌面编辑功能我主要分为 壁纸设置.Widget插件.切换特效.主题 4个部分.这个主要是参考OPPO的…
Launcher是系统启动后第一个启动的程序,是其它应用程序的入口,也就是我们的手机程序的桌面程序; 一.Launcher的定义及构成: <1>通过查看官方提供的Launcher源码可以知道其实Launcher也是一个Activity,不过它的intent-fliter有点特殊: <activity android:name="Launcher" android:launchMode="singleTask" android:clearTaskOn…
(1)      Launcher的定义:Android系统启动后,加载的第一个程序,是其他应用程序的入口. (2)      Launcher的构成:HomeScreen(1.workspace(AppWidget,Wallpaper,Livefolder,ShortCut),2.HotSeats,3.AllApps/allApplist:GridView) (3)      针对Launcher的开发类型: 1.      开发自定义的Launcher 2.      与Workspace相…
原文:Android 打造炫目的圆形菜单 秒秒钟高仿建行圆形菜单 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/43131133,本文出自:[张鸿洋的博客] 1.概述 今天打开建行看存款,一看伤心欲绝,再看:我擦,这个圆形菜单挺炫.于是,为了掩盖我悲痛的心情,我决定是实现这个效果.好了,其实还有个原因,记得我初学android那会我做的应用被鄙视了,说我的菜单没有建行的好看,那么今天,证明自己的时刻到了.我决定用我做的圆形菜单…
1.activity_main.xml 描述: 定义了一个TextView和三个按钮 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_main" android:layout_widt…
前面已经写过Hotseat分析的文章,主要是讲解如何在Launcher里面配置以及修改Hotseat的参数.今天主要是讲解一下如何在Hotseat里面的Item显示名称.这个小问题昨天折腾了半天,最后幸亏我亲爱的女朋友大人提醒了我,才想到原因.在此十分感谢我女朋友大人的提醒,幸好她不是做程序员,不然我就要失业了O(∩_∩)O哈哈~ (PS:新建的QQ群,有兴趣可以加入一起讨论:Android群:322599434) 默认Hotseat里面的元素都没有标题 1.Hotseat隐藏文件夹标题 刚开始…
前面两篇文章都是写有关Launcher配置文件的修改,代码方面涉及不多,今天开始进入Launcher代码分析. 我们开机启动Launcher,Launcher是由Activity Manager启动的,而Activity Manager是由system server启动. 原创博文,转载请标明出处:http://www.cnblogs.com/mythou/p/3157452.html 1.Launcher进程启动过程 可以由下面图看到Launcher进程是如何被创建启动: Activity M…
上面一篇文章说了Launcher是如何被启动的,Launcher启动的过程主要是加载界面数据然后显示出来, 界面数据都是系统APP有关的数据,都是从Launcher的数据库读取,下面我们详细分析Launcher如何加载数据. 在Launcher.java的onCreate()方法里面,调用了开始加载数据接口: //Edited by mythou//http://www.cnblogs.com/mythou///加载启动数据 if (!mRestoring) { mModel.startLoad…
今天主要是分析一下Launcher里面的快捷方式导航条——HotSeat,一般我们使用手机底下都会有这个导航条,但是如果4.0的Launcher放到平板电脑里面运行,默认是没有HotSeat的,刚好我这里的运行环境类似平板,系统默认把HotSeat去掉了.办法,只能自己想办法把它弄出来,所以今天主要是分析如何在你Launcher上添加HotSeat以及分析HotSeat实现. Hotseat配置是通过配置文件控制的,一般来说,你需不需要Hotseat只要在配件文件里面写一下就OK,不过Hotse…
很久没写Launcher分析的文章,最近实在太忙.今天七夕本来是想陪女朋友逛街 ,碰巧打台风呆在家里,就继续写一篇文章.今天主要是讲一下Launcher里面的Widget列表,这方面信息比较多,今天重点讲一下Widget信息收集和Launcher是如何显示Widget.这是这个系列第12篇文章,可是有关Launcher的分析感觉还有很多东西要写. Widget列表是Android4.0以后才有的一种新特性,主要是可以直接查看Widget的缩略图,方便用户使用.而且Widget列表放到了AllAp…
Android:有关==下拉菜单导航==的学习 因为先前的学习都没想着记录自己的学习历程,所以该博客才那么迟才开始写. 内容: ==下拉菜单导航== 学习网站:android Spinner控件详解 Spinner提供了从一个数据集合中快速选择一项值的办法.默认情况下Spinner显示的是当前选择的值,点击Spinner会弹出一个包含所有可选值的==dropdown菜单==,从该菜单中可以为Spinner选择一个新值. 阶段一:最简单的Spinner 1.在布局文件中添加Spinner控件 <?…
Fiddler2 主菜单 六个主菜单分别是: 文件(File) Capture Traffic ——启用捕获功能,快捷键 F12 此功能的开启/关闭状态,程序安装后默认是开启的.可以在 Fiddler 底部状态栏最左侧看到:(开启状态).(关闭状态) 也可以通过鼠标点击状态栏该图标来进行切换. Load Archive... ——载入本地保存的 Session 压缩包 Save ——保存 All Sessions... ——保存捕获到的全部 Session 到压缩包 Selected Sessi…
Android 抽屉效果的导航菜单实现 抽屉效果的导航菜单 看了很多应用,觉得这种侧滑的抽屉效果的菜单很好. 不用切换到另一个页面,也不用去按菜单的硬件按钮,直接在界面上一个按钮点击,菜单就滑出来,而且感觉能放很多东西. 关于实现,搜索了一下,有如下两种: 1.用SlidingDrawer: http://developer.android.com/reference/android/widget/SlidingDrawer.html 但是不知道为什么这个类官方不建议再继续用了: Depreca…
本来想分析AppsCustomizePagedView类,不过今天突然接到一个临时任务.客户反馈说机器界面的图标很难点击启动程序,经常点击了没有反应,Boss说要优先解决这问题.没办法,只能看看是怎么回事.今天分析一下Launcher启动APP的过程.从用户点击到程序启动的流程,下面针对WorkSpace上的快捷图标点击启动流程进行分析.(如果分不清WorkSpace是什么或者不知道快捷方式和其他图标区别,请看我前面的Launcher分析文章) PS:新建的QQ群,有兴趣可以加入一起讨论:And…
首选项---主菜单--   即是alacarte.. centos ===安装  alacarte.noarch 0:0.12.4-1.el6 即可.…
方法一的Activity package com.app.test02; import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnT…
经常玩游戏的同学,大家都知道,游戏都会有个主菜单,里面有多个菜单选项:开始游戏.游戏设置.关于游戏.退出游戏等等,这个菜单是怎么实现的呢. 有一定桌面软件开发基础的同学可能会想到,用JButton组件就可以实现,每个选项就是一个按钮嘛. 嗯,这样做是可以的.但是,系统自带的JButton按钮,样式是已经定义好的,虽然可以设置它的颜色.背景等属性,但终归是受限制的. 我们既然是学习游戏开发,那么时刻要记住台哥在之前的一个章节里所讲的,游戏里所有的东西都是计算机画出来的,程序员的工作就是,控制计算机…
点击出现二级菜单 *{ margin:0px auto; padding:0px; } .yiji{ width:200px; height:40px; background-color:red; color:#fff; text-align:center; line-height:40px;h vertical-align:middle; border:1px solid #FFF; } .erji1{ width:200px; height:40px; background-color:#F…
上一篇文章说了如何修改Android自带Launcher2的默认界面设置(http://www.cnblogs.com/mythou/p/3153880.html). 今天主要是说说Launcher里面图标.布局.壁纸等的设置问题.毕竟我们一般修改Launcher,这些都是需要修改的地方,也是比较容易修改的部分.按照效果图(效果图在上一篇文章),分开说明如何修改,以及里面涉及的逻辑分析. 原创博文,转载请标明出处:http://www.cnblogs.com/mythou/p/3155692.h…
本来打算分析CellLayout的源码,不过因为它们之间是容器包含关系,所以打算先把PagedView分析.PagedView代码很多,今天主要是分析跟核心功能相关的代码.PagedView主要实现一个功能——页面滑动. PagedView继承了ViewGroup类,是一个容器类,可以包含第三方的View,实际上Launcher里面的PagedView主要就是包含了CellLayout的显示.对于一个View类来说,我们触摸屏幕界面,首先会触发View类的onInterceptTouchEven…
接着上一篇文章,继续分析AllAPP列表界面.上一篇文章分析了所有应用列表的界面构成以及如何通过配置文件修改属性.今天主要是分析PagedViewWithDraggableItems类,因为在我们分析AppsCustomizePagedView之前,需要先了解PagedViewWithDraggableItems.这是因为他们是继承关系.我们先看看AppsCustomizePagedView的类继承关系.(以后博客的图片都会加上水印,因为发现很多转载文章的人把所有作者信息都删除了,鄙视这种行为…
Android4.0的Launcher自带了一个简单的分页指示器,就是Hotseat上面那个线段,这个本质上是一个ImageView利用.9.png图片做,效果实在是不太美观,用测试人员的话,太丑了.特别是搭配其他风格的图标和背景,的确不好看.所以打算自己重新写一个指示器.这个所谓的分页指示器作用很简单,就是告诉用户界面有多少分屏,目前处于第几分屏.当然目前也有一些Launcher增强了这个功能,只要滑动这些指示器就可以 快速滑动桌面. 今天给大家讲讲如何自定义一个分页指示器,并添加到Launc…
创建options menu 之前提到,Android的activity已经为我们提前创建好了android.view.Menu对象,并提供了回调方法onCreateOptionsMenu(Menu menu)供我们初始化菜单的内容.该方法只会在选项菜单第一次显示的时候被执行,如果你需要动态改变选项菜单的内容,请使用 onPrepareOptionsMenu(Menu). @Overridepublicboolean onCreateOptionsMenu(Menu menu) { // 调用父…