- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android学习笔记(八):Activity-OpenMenu和LinearLayout
设置文本显示
继承ViewText的widget有以下集中设置文本显示的方式:一、在Android XML中 android:text=xxxxx中设定;二、在程序中通过widget.setText(xxxx);三、在res/values/strings.xml中设置,然后通过R.string.xxx在Android或者在程序中使用。对于要适配多国语言,建议采用第三种方式,只需对stings.xml的相关词汇进行翻译即可。
OptionMenu
在手机上,有一个Menu按钮,按下后,可以显示OptionMenu,如下处理
创建的Menu后,需要触发回调函数,这也是一个override的方法,如下处理:
LinearLayout
从上至下,或从左到右。是box model,基于方块依次顺序方式排列。RadioGroup是LinearLayout的继承项
orientation
在Android XML中使用android:orientation,值为horizontal或者vertical,排版将是水平从左到右,或者竖直从上到下。在java程序中,我们可以通过setOrientation() 来改变方向,例如setOrientation(LinearLayout.HORIZONTAL);
fill model
一个widget根据其内容有一个最合适的大小,也就是natural大小,然则我们通才需要根据容器的大小进行排版,在LinearLayout中android:layout_width和android:layout_height是必须设置的,有三种方式:1)指定尺寸,例如125px表示125pixels2)wrap_content,这就是natual的尺寸3)fill_parent:填满容器剩余的尺寸。
fill_parent将会使用剩余所有的空间,哪怕是后面还有widget,也就将空间填满。而我们并不希望如此,希望剩余的widget仍然有效的排列,而是希望将其他widget排列后的剩余空间。我们将使用layout_weight的属性。
weight
layout_weight和wrap_content共同使用,缺省layout_weight为0,也就是size为natural size。(如果和fill_parent相结合,其结果无法预测,因此需特别注意)如果我们希望widget使用了剩余的空间,那么可以设置layout_weight一个有效值。这里是权重,如果有多个widget,就按此权重来分配剩余的空间。如果所有的layout_weight一样,这些widget就对剩余空间进行等分。有时我们会看到不一定很严格按照设定的权重比例来分配空间,必须能支持natural的大小,所以可能会有适配。
Gravity
线性布局从上到下,或这从左到右,可以使用gravity,提供align的方式,不按此顺序。对于android:layout_width=wrap_content ,android:layout_gravity可以设置为left, center_horizontal, righ。在JAVA代码中,可以使用 setGravity(),例如setGravity(Gravity.LEFT); setGravity(Gravity.CENTER_HORIZONTAL);
需要注意的是在widget中也是有相应的属性,android:gravity,这里指的是widget中文字在widget中的排放位置,例如android:gravity=right。
右图是button结合weight和gravity的例子
如果我们将第三个的android:layout_gravity=right改为?android:gravity=right,结果如下图:
?
Pad和Margin
缺省地,各widget之间是紧密排列的,如果需要留边,可以采用padding的方式,如图所示。在XML中使用android:padding,android:paddingLeft, android:paddingRight,android:paddingTop, 和android:paddingBottom。在Java code中可以使用setPadding() 来处理。例如android:paddingTop=30px。
需要注意的是,如果设置背景android:background,那么包括widget和padding的区域都是看不到背景的。也就是widget实际上包含了padding的尺寸。为了避免这种情况,我们可以使用margin来替代,例如android:l
文档评论(0)