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去编译,只能按着标准编译去编


- m:       Makes from the top of the tree.
- 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实现横向滑动的效果
     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值