本文主要是介绍SystemUI 5.0 学习日记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
================================================================系统编译
按照google给出的编译步骤如下:
1> source build/envsetup.sh:加载命令
2> lunch:选择平台编译选项
3> make:执行编译
我们按照编译步骤来分析编译过程的细节,最终添加自己的平台产品的编译选项。
http://blog.csdn.net/mr_raptor/article/details/7539978
关于系统编译,没得像4.4以前的,有mk文件直接用mk去编译,只能按着标准编译去编
- mm: Builds all of the modules in the current directory, but not their dependencies.
- mmm: Builds all of the modules in the supplied directories, but not their dependencies.
To limit the modules being built use the syntax: mmm dir/:target1,target2.
- mma: Builds all of the modules in the current directory, and their dependencies.
- mmma: Builds all of the modules in the supplied directories, and their dependencies.
================================================================
NotificationsQuickSettingsContainer(填充者)--->status_bar_expanded.xml(下拉布局)
--->ObservableScrollView(除了头的一小部分的全部部分)
--->qs_panel.xml(快速设置的面板)
---> {
QSContainer(Main 的填充着)
QSPanel(控制着快速设置)
}
================================================================
NotificationPanelView(对整个通知栏的设置)
PhoneStatusBar(add title)中的makeStatusBarView方法
================================================================
linux切换到根目录
cd “你想要进的目录” //当目录名称中含有空格、中文或其它特殊字符时请用双引号包括
以下是最常用的几个目录的写法:
/ 代表根目录
. 当前目录
.. 上级目录
~ 当前用户的默认工作目录
目录可以省略不写, 与cd ~ 有相同的效果
5.0的qs图标是矢量图。
http://blog.csdn.net/jjwwmlp456/article/details/40614919
com.android.systemui.qs.tiles相关qs内容都在这里面
PseudoGridView(继承ViewGroup,应该是控制qs每个填充的布局的view)
-->UserDetailView(继承前一个类,Quick settings detail view for user switching.)
---->UserDetailItemView(Displays one user in the {@link UserDetailView} view. ?疑问,为啥他是继承LinearLayout)
//猜想1.他是new成一列一列的,然后去填充viewgroup当中
----(方法convertOrInflate 实现对view的填充)
------> qs_user_detail.xml(存放UserDetailView(继承PseudoGridView))
---疑问。为啥改了代码还会多了图标出来(定位)---PseudoGridView的row改成1
================================================================
改SystemUI思路 --->PseudoGridView--->尝试下能不能把他自定义的GridView改成只有一行的view
view的自定义
viewGroup是view存放的容器
viewGroup的三种测量模式1,EXACTLY 精确的2,AT_MOST 最大值3,UNSPECIFIED 不指定
generateLayoutParams 设置layout参数
onMeasure 绘制view (告诉viewgroup ,你的view有多宽)
onLayout 定位view
----------------------------------搞错了-----------------------------------
PseudoGridView并不是快速设置的view(TAT),是联系人的视图,要改QSPanel。。。
================================================================
重新拾起心情~~!!!!
---->QSPanel(控制着快速设置)
---->QSFooter(应该是子视图的填充的容器)
----> (mBrightnessView(设置亮度的view,QSPanel中填充,quick_settings_brightness_dialog))
---->TileRecord(记录的titleview的属性,继承Record--->跟QSTile.DetailAdapter相联系)
---->QSTileHost,QSTileView(/** View that represents a standard quick settings tile. **/)
---->qs_detail.xml 是wifi列表,蓝牙列表打开之后的具体信息的view
---->config.xml中有对qs的列数和行数控制的指令
================================================================
遇到问题
水平viewgroup外面套HorizontalScrollView 但是里面的qspanel内容不现实,找不到原因
--->用viewgroup实现横向滑动的效果
这篇关于SystemUI 5.0 学习日记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!