




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
IndexIndex1PaddingTop 与 marginTop1Layout_gravity 与 gravity1Android:gravity 与 MarginRightBottom 的关系9ListView.getCount()与ListView.getChildCount()9pendingIntent 与 Intent10View/scrollbar:outsideInset outsideOverlay insideInset insideOverlay 四个属性10Android中getWidth和getMeasuredWidth的区别11getX getRawX的区别(解释的很清楚)12PaddingTop 与 marginToppaddingTop: 在控件内部,与顶端距离marginTop: 在控件外部,与父类控件距离多远(如下图)Layout_gravity 与 gravityandroid:Layout_gravity: 在控件自身内部,android:gravity:在控件外部,与父类控件的关系(如下图)上面的都错了。正解如下:android:Layout_gravity: 定义在Button的属性里,表示button在父视图里的位置android:gravity:定义在Button的属性里,表示button内部的视图Textview在button里的位置。定义在LinearLayout的属性里,表示LinearLayout内部的视图Button在其布局里的位置。 Layout_weight/Layout_gravity仅用于 LinearLayout /TableLayout 布局里。结论:1, gravity 仅对单件, 对自身内部的物体 局左居右, 比如,对用在layout属性,那么它内部的button局右,如果用在button属性里,那么button内部的字体Textview局右。 如:图形如下:android:layout_gravity=right, 红色背景在 外部的父类视图里 局右。android:gravity=right button margin在 红色背景内部局右.又如:android:layout_gravity=left, 黄色背景在 外部的父类视图里 局左。android:gravity=right button margin在 黄色背景内部局右都是在 LinearLayout 里面定义的。疑问:有人会问, 对于上面这个, 我能不能在 button定义时,在button属性里加上android:layout_gravity=right, 而让button margin在 黄色背景内部局右呢?这个必须button的父视图是root型,否则此方法无效。这个有点复杂,因为这样你在 父类里面有android:layout_gravity, 在子类里面也有同样的android:layout_gravity, 系统会不支持。那怎么办呢? 看下面这个,仅在子类里面有android:layout_gravity, 父类是root,且啥gravity都没有。android:layout_gravity=right 让1子类在root型父视图里面局右了。android:layout_gravity=left 让2子类在root型父视图里面局左了。P.S. root型父视图LinearLayout的orientation 必须是 vertical, 如果是horziontal, 则如下:即使是root型父视图linearLayout, 也没有用。如果父视图不是root类,就出现问题了。android:layout_gravity在子视图无效。2, 3, 若LinearLayout 父视图不是root,则次一级子视图出现顺序默认是从左到右。如果想实现下图,需在这个非root类的父视图里,加入android:gravity=”right”,这样LinearLayout下的视图会默认从右向左了。4,5, 如何实现 3 个Button 并排 呢若用非root型的LinearLayout做父视图,结果如图: 从左往右排列,最后一个button 不靠右了。若用RelativeLayout,对于4个button, Relativelayout 会很吃紧。那LinearLayout 呢,我们发现,1, LinearLayout 父类若是root类,则次一级子类中 属性写android:layout_gravity是有效的;若不是root类,则失效。2, 若LinearLayout 父类不是root类,则次一级子视图出现顺序默认是从左到右。如果想实现下图,需在这个非root类的父视图里,加入android:gravity=”right”,这样LinearLayout下的视图会默认从右向左了。如何在LinearLayout里面实现下图呢?(每个button的宽度设为死值:横向:120px)(每个button的宽度设为死值:纵向:80px)如果很想实现 在 LinearLayout里面, 一个靠左,一个靠右的效果呢?用权术,党同伐异,排除异己:给第一个按钮设个100的权重,把第二个远远死死挤在右边上。 实例运用:右边箭头必须在右边,左边radiobutton必须在左边,就是用权术。Android:gravity 与 MarginRightBottom 的关系在LinearLayout 里面,如果父视图 android:gravity=Left, 证明从左向右,则Android:layout_MarginLeft 有用Android:layout_MarginTop 有用 , 其余两个无用;如果父视图 android:gravity=Right, 证明从右向左,则Android:layout_MarginRight 有用Android:layout_MarginTop 有用Android:layout_MarginBottom 有用, 其余1个无用;ListView.getCount()与ListView.getChildCount()ListView.getCount()(实际上是 AdapterView.getCount()) 返回的是其 Adapter.getCount() 返回的值。也就是“所包含的 Item 总个数”。 ListView.getChildCount()(ViewGroup.getChildCount) 返回的是显示层面(当前视图可见面)上的“所包含的子 View 个数”。 二者有什么不同?当 ListView 中的 Item 比较少无需滚动即可全部显示时,二者是等价的;当 Item 个数较多需要滚动才能浏览全部的话,getChildCount() getCount() 其中 getChildCount() 返回的是当前可见的 Item 个数。 其实 Android framework 的这一设计并不难理解:当一些 Item 当前不显示的时候为什么还要保留它们的 View 呢?移动设备的资源有限,“能省则省”嘛。pendingIntent 与 IntentPendingIntent和Intent的区别:An Intent is something that is used right now; a PendingIntent is something that may create an Intent in the future. You will use a PendingIntent with Notifications, AlarmManager, etc. PendingIntent 多用于 NotificationView/scrollbar:outsideInset outsideOverlay insideInset insideOverlay 四个属性Api 文档比较Glossary : inset 嵌入 overlap 重叠 Translucency(半透明物)Scrollbar Style属性值Display the scrollbarsinside theincreasing the paddingscrollbars will be overlaid withinsideOverlaycontent area,withoutTranslucency(半透明物)insideInsetpadded area,withnot overlap the content area of the view. outsideOverlayat the edge of the view,withouttranslucencyoutsideInsetat the edge of the view,withwill only overlap thebackground, if any. Android中getWidth和getMeasuredWidth的区别 今天看SDK, 看到这个东西不是很懂, google了一会有些许收获. 以下是我的理解.getWidth得到是某个view的实际尺寸.getMeasuredWidth是得到某view想要在parent view里面占的大小.那用法呢?getWidth在OnCreat的时候得到的是0.很奇怪, 我找到了原因: 当一个view对象创建时,android并不知道其大小,所以getWidth()和 getHeight()返回的结果是0,真正大小是在计算布局时才会计算,所以会发现一个有趣的事,即在onDraw( ) 却能取得长宽的原因。 那怎么在onCreat 的时候得到呢? width = activity.getWindowManager().getDefaultDisplay().getWidth(); height = activity.getWindowManager().getDefaultDisplay().getHeight(); 2. getMeasuredWidth必须在parent view或者它自己调用measure()函数之后才能得到. measure函数就是计算该函数需要占用的空间大小.getX getRawX的区别(解释的很清楚)getX是获取以widget左上角为坐标原点计算的轴坐标直getRawX 获取的是以屏幕左上角为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 微项目1 探析机器智能的推理基础说课稿-2025-2026学年初中信息科技泰山版2024八年级下册-泰山版2024
- 综合评价二说课稿-2025-2026学年小学音乐一年级上册(2024)人音版(2024 主编:赵季平杜永寿)
- 第六章 6.1.2说课稿+作业 大单元教学 七年级地理 下册湘教版
- 1 历代英雄赞教学设计-2025-2026学年小学综合实践活动第11册人教版
- 3.5.6 健康地度过青春期 说课稿-2024-2025学年冀少版生物七年级下册
- 辽宁省大连市高中化学 第一章 化学反应与能量 1.1 热化学方程式中和热习题课说课稿 新人教版选修4
- 秦皇岛市人民医院皮肤创伤修复技术考核
- 通辽市中医院护理排班管理考核
- 运城市人民医院放疗模具制作技能考核
- 晋中市中医院护理绩效改进考核
- 2024年营养师考试真题解析试题及答案
- 公司事故隐患内部报告奖励制度
- 普通白大褂标准
- DB65-T8024-2024 建筑用室外气象参数标准J17664-2024
- 科技助力下的现代安保团队建设
- 2025年仓库管理员及操作人员岗位技能资格知识考试题(附答案)
- 饲料厂消防安全培训课件
- 早读课件高中教学课件
- 大学生创新创业基础(创新创业课程)完整全套教学课件
- 重庆机场集团有限公司招聘笔试题库2024
- DB3301∕T 65.1-2024 反恐怖防范系统管理规范 第1部分:通则
评论
0/150
提交评论