注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

(转载)从零开始学Android之XML  

2011-11-11 23:04:39|  分类: Android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
原文地址:http://blog.csdn.net/a_mean/article/details/6930321

在学习控件的过程中我们应该对一些常用的XML属性有更深入的理解,这有利于我们继续学习Android的高级技术。


1:android:id

如果要在代码或在XML布局文件中引用某个控件,该控件必须要设置android:id的属性-@id/value或者@+id/value。

第一种格式中的value必须要在R.id类中存在,也就是说,要为当前控件指定一个在R.id类中已经存在的int类型变量作为其ID值,

如果该变量不存在的话,XML布局文件无法验证通过。第二种在@和id之间多了一个加号,表示如果value指定的变量如果在R.id类

中存在,则使用已经存在的变量值作为其ID值,否则将会在R.id类中新建一个int类型的变量并储存。


2:android:layout_width和android:layout_height

这两个属性分别用来设置控件的宽度和高度,是必选的。可以设置的值除了fill_parent和wrap_content外,还可以设置精确的值,单位是px或者dp(dip)。

其中fill_parent表示尽可能地充满父控件的空间,如果当前控件是最上层,就是充满整个屏幕。

wrap_content表示根据控件中的内容来确定,也就是说,在满足完全显示控件内容的情况下,把宽度和高度设置为最小。


3:android:layout_margin

设置控件到相邻控件或者边缘的距离可以使用android:layout_margim属性。该属性设置了4个方向的距离,也就是上下左右这4个。

例如:android:layout_margin="50dp"。如果想要单独设置某一个方向的距离,可以单独使用android:marginTop、Bottom、Left、Right这4个属性。

如果同时设定了android:layout_margin和这4个属性的话,系统优先使用android:layout_margin的属性值。


4:android:padding

android:padding属性可以设置控件的内容在4个方向距离控件边缘的距离。与android:layout_margin类似,它也有单独设置某一个方向距离的属性,

同时也优先于这4个单独的属性。我们初学者比较容易混淆android:padding和android:layout_margin的概念。其实这二者很容易区分,有layout的属性是

指控件与控件或者是边缘之间的距离,所以加上了layout,它和控件的布局相关;而没有layout的属性是指该控件中的内容距离控件边缘的距离,和控件的布局位置无关。


5:android:layout_weight

这个属性在进行均衡布局时非常有用。所谓均衡布局,是指两个或者多个控件要占用等比例的区域,它们所占的比例不因屏幕的方向变化、

屏幕的密度变化以及总宽度或高度的变化而变化。例如,有3个按钮,要求在水平方向各占1/3的长度,就可以将这3个控件的android:layout_weight

属性设置为相等的3个值(必须是正整数,不需要加任何单位),如android:layout_weight="1"。


6:android:layout_gravity和android:gravity

这两个属性分别表示控件和控件中的内容的位置。例如,在一个<LinearLayout>>标签中,有一个<Button>按钮,要想使Button在水平方向居中,

即可以在<Button>标签中设置android:layout_gravity属性,也可以在<LinearLayout>标签中设置android:gravity属性。

android:layout_gravity和android:gravity可设置的属性值完全一样,常用的属性值如下:

center_horizontal:水平居中                center_vertical:垂直居中

center:水平和垂直都居中                    left:设置到左侧                      right:设置到右侧                                   

top:设置到顶端                                      botton:设置底端

以上属性均可设置多个,用" | "号连接。


7:android:visibility

该属性决定了当前控件是否可见。可设置以下3个属性值。

visible:控件可见

invisible:控件不可见,但保留控件的位置

gone:控件不可见,也不保留控件的位置

代码修改:View.setVisibility(View.GONE);


8:android:background

该属性用于设置控件的背景色或背景图。如果要设置背景色,需要使用#color形式的属性值,其中color表示一个16进制的颜色值。

设置背景图的话,格式为@drawable/resourceId,其中resourceId表示图像的资源ID,假如我们想要更改我们整个界面的背景图的话,

可以先找到最上层的一个Layout,在其标签里设置它的android:background=“@drawable/background"。


9:android:onClick

从Android1.6开始,视图便多了一个android:onClick属性,通过该属性,可以直接定义当前布局文件的Activity类中的单击事件的方法名。

该方法的定义要和单击事件一致,方法名可以任意指定,但访问修饰符必须是public。

此外还有android:clickable和android:longClickable,这两个属性都需要设置布尔类型的属性值,前者表示当前控件是否可以接受单击事件,

后者表示当前控件是否可以接受长按单击事件(按住控件不动,则触发长按单击事件)。


10:android:focusable和android:focusableInTouchMode

大多数的控件都可以获得焦点,也就是处在选中状态。android:focusable决定当前控件是否可以获得焦点。

如果将android:foucsableInTouchMode属性值设置为true,当触摸控件时,会先将焦点移动到被触摸的控件上,

然后需要再次触摸该控件才会响应单击事件。使用该属性需要将android:focusable属性值设置为true。

  评论这张
 
阅读(209)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017