布局文件的易混淆点

来源:互联网 发布:中国2017网络闭关锁国 编辑:程序博客网 时间:2024/06/10 00:55

布局文件是我从事Android之初最喜欢做的事,直观的是我喜欢的原因,半路出身的我对看不到的逻辑很是头疼,工作一路下来,当对布局文件失去兴趣的时候发现,每次写的时候都会有这么几个属性让你头疼,下面将自己的一些总结记录下来


参考博客:http://blog.csdn.net/kyoky_xxj/article/details/8859008

    http://www.igooda.cn/jzjl/20141117670.html


1、android:gravity和android:layout_gravity

android:gravity属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.以button为例,android:gravity="right"则button上面的文字靠右
android:layout_gravity
android:layout_gravity是用来设置该view相对与起父view 的位置.比如一个button 在linearlayout里,你想把该button放在靠左、靠右等位置就可以通过该属性设置.以button为例,android:layout_gravity="right"则button靠右

2、bacground和src

android:background  指定该控件所使用的背景色,RGB命名法
android:src  指定图片的内容、资源
  background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸。src是图片内容(前景),bg是背景,可以同时使用。
  此外:scaleType只对src起作用;bg可设置透明度,比如在ImageButton中就可以用android:scaleType控制图片的缩放方式,示例代码如下:
 <ImageView 
android:id="@+id/img" android:src="@drawable/logo" 
android:scaleType="centerInside" 
android:layout_width="60dip" 
android:layout_height="60dip" 
android:layout_centerVertical="true"/>
  说明:centerInside表示按比例缩放图片,使得图片长 (宽)的小于等于视图的相应维度。
  注意:控制的图片为资源而不是背景,即android:src="@drawable/logo",而非android:background="@drawable/logo"。程序中动态加载图片也类似,如:应该imgView.setImageResource(R.drawable.*);而非imgView.setBackgroundResource(R.drawable.*);
  CENTER /center 在视图中心显示图片,并且不缩放图片
  CENTER_CROP / centerCrop 按比例缩放图片,使得图片长 (宽)的大于等于视图的相应维度
  CENTER_INSIDE / centerInside 按比例缩放图片,使得图片长 (宽)的小于等于视图的相应维度
  FIT_CENTER / fitCenter 按比例缩放图片到视图的最小边,居中显示
  FIT_END / fitEnd 按比例缩放图片到视图的最小边,显示在视图的下部分位置
  FIT_START / fitStart 把图片按比例扩大/缩小到视图的最小边,显示在视图的上部分位置
  FIT_XY / fitXY 把图片不按比例缩放到视图的大小显示
  MATRIX / matrix 用矩阵来绘制
setImageResource與xml中的src的屬性才是相匹配的,而setBackgroundResource是與xml中的background屬性相匹配的。


3、padding和margin

android:padding  指定控件的内边距,也就是说控件当中的内容
android:margin  指组件距离父窗体的距离

我们也可以这样来理解,layout_margn与layout_grivaty都与布局有关,控制组件在屏幕中的显示位置

                                          padding与grivaty都是用来控制内容在组件中的显示位置



原创粉丝点击