Android Layout 布局属性全解

http://blog.csdn.net/jaysong2012/article/details/41047587


 

Android Layout 布局属性全解

标签: android FrameLayout
  2722人阅读  评论(0)  收藏  举报
  分类:

目录(?)[+]

Android  Layout 布局属性全解


Android有基本Layout:FrameLayout,LinearLayout,TableLayout,RelativeLayout,AbsoluteLayout。
android开发者谷歌文档http://android.xsoftlab.net/reference/android/view/ViewGroup.html
FrameLayout
[html]  view plain  copy
  1. <FrameLayout   
  2. android:layout_width="" //取值范围"match_parent"、"wrap_content"、"XXdp"  布局整体宽度  
  3. android:layout_height=""//取值范围"match_parent"、"wrap_content"、"XXdp"  布局整体高度  
  4. android:layout_weight=""//取值示例"1.0"  布局所占比重  
  5. android:layout_gravity="" //取值范围"center"、"top"、"bottom"、"left"、"right"、"right|bottom" 布局位置  
  6. android:layout_margin="" //取值示例"0dp" 距离父控件四个方向距离  
  7. android:layout_marginLeft="" //取值示例"0dp" 距离父控件左间距  
  8. android:layout_marginTop="" //取值示例"0dp" 距离父控件上间距  
  9. android:layout_marginRight="" //取值示例"0dp" 距离父控件右间距  
  10. android:layout_marginBottom="" //取值示例"0dp" 距离父控件下间距  
  11. android:layout_marginStart="" //取值示例"-50dp" "50dp"  控件离父控件开始的位置的距离(前者不显示前50dp)  
  12. android:layout_marginEnd=""   //取值示例"-50dp" "50dp"  控件离父控件结束的位置的距离(前者不显示后50dp)  
  13. android:addStatesFromChildren="" //取值范围"true" 、"false" viewgroup的drawable属性是否把它的子类的drawable的state包含进来。测试中linearlayout如果不包含该属性(false),当子widget被点击时不会出现被选中的状态。也就是子类的state不会被传递给父类了  
  14. android:descendantFocusability="" //见下  
  15. android:splitMotionEvents=""  //取值范围"true" "false" 定义布局是否传递touch事件到子布局  
  16. android:layoutMode="" //取值范围 "clipBounds" "opticalBounds"  见下  
  17. android:id=""   
  18. android:tag="" //listView中区别Item非常有用的Tag标签(key-value)  
  19. android:scrollX="" //The initial horizontal scroll offset, in pixels. [dimension]最初的水平滚动的偏移,以像素为单位。  
  20. android:scrollY="" //The initial virtual scroll offset, in pixels. [dimension]最初的竖直滚动的偏移,以像素为单位。  
  21. android:background=""   
  22. android:padding="" //取值示例"0dp" 控件内容(文本图片子控件等)距离控件四个方向边界的距离  
  23. android:paddingLeft=""   
  24. android:paddingTop=""   
  25. android:paddingRight=""   
  26. android:paddingBottom=""   
  27. android:paddingStart="" //见下  文字对齐方式详解  
  28. android:paddingEnd="" //见下  文字对齐方式详解  
  29. android:foreground="" //设置布局的前景图,前景图不会被子元素覆盖  
  30. android:foregroundGravity="" //设置布局前景图的位置  
  31. android:foregroundInsidePadding="" //  
  32. android:focusable="" //取值"true" "false"  能否获得焦点(按键)  
  33. android:focusableInTouchMode="" //取值"true" "false"  是否可以通过touch获取到焦点(android:focusable 为先决条件)  
  34. android:fitsSystemWindows="" //取值"true" "false"  设置布局调整时是否考虑系统窗口(如状态栏)  
  35. android:fadeScrollbars="" //取值"true" "false" 滚动条自动隐藏  
  36. android:fadingEdge=""  //设置拉滚动条时 ,边框渐变的方向。none(边框颜色不变),horizontal(水平方向颜色变淡),vertical(垂直方向颜色变淡)。  
  37. android:fadingEdgeLength="" //滚动条渐变长度  
  38. android:filterTouchesWhenObscured="" //取值范围  "true" "false"所在窗口被其它可见窗口遮住时,是否过滤触摸事件  
  39. android:visibility="" //取值范围 "gone" "visible" "invisible"(虽不可见,但占据布局位置)  
  40. android:scrollbars=""//取值范围 "none" "horizontal" "vertical" 设置滚动条  
  41. android:scrollbarStyle="" //outsideInset :  该ScrollBar显示在视图(view)的边缘,增加了view的padding. 如果可能的话,该ScrollBar仅仅覆盖这个view的背景.                                  insideInset :该ScrollBar显示在padding区域里面,增加了控件的padding区域,该ScrollBar不会和视图的内容重叠.                                                    outsideOverlay :  该ScrollBar显示在视图(view)的边缘,不增加view的padding,该ScrollBar将被半透明覆盖                                                         insideOverlay : 该ScrollBar显示在内容区域里面,不会增加了控件的padding区域,该ScrollBar以半透明的样式覆盖在视图(view)的内容                      
  42. android:isScrollContainer=""  //取值范围 "true""false" 设置当前View是否为滚动容器(是否可以为输入法腾出空间而隐藏)  
  43. android:scrollbarFadeDuration="" //褪色时间  
  44. android:scrollbarDefaultDelayBeforeFade="" //设置滚动条N毫秒后开始淡化,以毫秒为单位。  
  45. android:scrollbarSize="" //设置滚动条大小  
  46. android:scrollbarThumbHorizontal="@drawable" //设置水平滚动条的drawable  
  47. android:scrollbarThumbVertical="@drawable" //设置垂直滚动条的drawable.  
  48. android:scrollbarTrackHorizontal="@drawable"//设置水平滚动条背景(轨迹)的色drawable  
  49. android:scrollbarTrackVertical="@deawable" //设置垂直滚动条背景(轨迹)的drawable注意直接  
  50. android:scrollbarAlwaysDrawHorizontalTrack="true/false" //设置水平滚动条是否含有轨道  
  51. android:scrollbarAlwaysDrawVerticalTrack="true/false"  // 设置垂直滚动条是否含有轨道  
  52. android:requiresFadingEdge="none/horizontal/vertical" //定义褪色时滚动边缘  
  53. android:nextFocusLeft="@+id/" //Up键按下之后,哪一个控件获得焦点(被选中)  
  54. android:nextFocusRight="@+id/"   
  55. android:nextFocusUp="@+id/"   
  56. android:nextFocusDown="@+id/"   
  57. android:nextFocusForward="@+id/"   
  58. android:clickable="true/false"   
  59. android:longClickable="true/false"   
  60. android:saveEnabled="true/false" //设置是否在窗口冻结时(如旋转屏幕)保存View的数据  
  61. android:drawingCacheQuality="auto|low|hight" //设置绘图缓存质量   
  62. android:keepScreenOn="true/false" //View在可见的情况下是否保持唤醒状态  
  63. android:duplicateParentState="true/false"  如果设置此属性,将直接从父容器中获取绘图状态(光标,按下等)。 注意根据目前测试情况仅仅是获取绘图状态,而没有获取事件,也就是你点一下LinearLayout时Button有被点击的效果,但是不执行点击事件。  
  64. android:minHeight=""   
  65. android:minWidth=""   
  66. android:soundEffectsEnabled="true/false" // 设置点击或触摸时是否有声音效果  
  67. android:hapticFeedbackEnabled="true/false" // 实现单击某个视图,系统提供一个触力反馈(震动一下)  
  68. android:contentDescription="@string/"        //图片不可见时的文字描述(盲人)   
  69. android:onClick=""   
  70. android:overScrollMode="ifContentScrolls/always/never" //滚动到边界时的效果   
  71. android:alpha="0.1" //透明度  
  72. android:translationX="" //X轴的偏移距离  
  73. android:translationY=""   
  74. android:transformPivotX="" //从某点的X轴偏移距离  
  75. android:transformPivotY=""   
  76. android:rotation=""  //旋转  
  77. android:rotationX=""   
  78. android:rotationY=""   
  79. android:scaleX="" //设置X轴缩放比例  
  80. android:scaleY=""   
  81. android:verticalScrollbarPosition="defaultPosition/left/right"  //设置垂直滚动条的位置  
  82. android:layerType="none/hardware/software" //绘图是否开启硬件加速  
  83. android:layoutDirection="" //定义布局图纸的方向  
  84. android:textDirection=""  //  
  85. android:textAlignment="inherit/....."   //文字对齐方式  
  86. android:importantForAccessibility="noHideDescendants/...."    //设置可达性的重要行  
  87. android:accessibilityLiveRegion=""   
  88. android:labelFor=""   //添加标签  
  89. android:measureAllChildren=""  //见下  
  90. android:animateLayoutChanges="true"   //添加默认布局动画  
  91. android:clipChildren="" //见下  
  92. android:clipToPadding="" //见下转载  
  93. android:layoutAnimation="" //设置layout动画  
  94. android:animationCache=""  
  95. android:persistentDrawingCache="" android:alwaysDrawnWithCache="" />   

android:descendantFocusability


开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点。原因多半是由于在你自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也可以说是Button或者Checkable的子类控件),此时这些子控件会将焦点获取到,所以常常当点击item时变化的是子控件,item本身的点击没有响应。

    这时候就可以使用descendantFocusability来解决啦,API描述如下:

android:descendantFocusability

Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus.

Must be one of the following constant values.

 

该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。

属性的值有三种:

        beforeDescendants:viewgroup会优先其子类控件而获取到焦点

        afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

        blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点

 

通常我们用到的是第三种,即在Item布局的根布局加上Android:descendantFocusability=”blocksDescendants”的属性就好了

android:layoutMode

Defines the layout mode of this ViewGroup.

Must be one of the following constant values.

Constant Value Description
clipBounds 0 Use the children's clip bounds when laying out this container.铺设这种容器时,使用子控件剪辑边界。
opticalBounds 1 Use the children's optical bounds when laying out this container.铺设这种容器时,使用子控件光纤边界界。

This corresponds to the global attribute resource symbol layoutMode.

Related Methods

android:paddingstart

Android 4.1(Jelly Bean)  在 TextView  EditText 元素里对“双向文字顺序”提供了有限的功能支持,允许应用程序在编辑和显示字符的时候,能够同时支持从左到右(LTR)以及从右到左(RTL)的排列格式。Android 4.2目前已经对“从右到左”的文字排列顺序给予了原生级别的全面支持,包括提供了一个布局镜面工具,使得开发者把能够将优质的用户体验带给每一位用户,不管该用户的书写顺序是从左到右,还是从右到左。

Android 4.2保证了该新特性不会影响到目前已经存在程序,如果之前的程序代码不修改,其应用的外观将维持现状。如果你想要修改程序,那么仅仅需要很小的改动,应用就可以自动地被“镜面反射”,这样就能轻易地将系统语言设置为从右到左的书写格式(阿拉伯语,希伯来语和波斯语都采用这种格式)。例如,下面的截图就展示了上述的设置效果:

从左到右的布局方式从左到右的布局方式

 

从右到左的布局方式从右到左的布局方式

 

要实现RTL(从右到左)的布局镜面反射,仅仅需要遵循下列步骤就可以做到:

1. 在你的应用程序声明文件(manifest)里声明开启RTL mirroring的支持。具体做法是:在manifest.xml声明文件的<application>元素中,添加 android:supportsRtl=”true”

2. 修改应用程序中所有的“left/right”布局属性,改为对应的”start/end”布局

1)如果你的应用程序是针对Android 4.2目标平台(应用的targetSdkVersion或者minSdkVersion是17或者更高), 那么你就应当用“start”和“end”替换原来的“left”和“right”。例如,android:paddingLeft应当被替换为android:paddingStart。

2)  如果你想让你的应用程序与Android 4.2之前的版本保持兼容(也就是与targetSdkVersion或者minSdkVersion为16或者更早的版本),那么你应当既加上“start”和“end”,又加上“left”和“right”。例如,你应当同时写上:adnroid:paddingLeft和android:paddingStart。

 

为了更精确地控制应用程序在UI上的文字书写顺序(从左到右,或者从右到左),Android 4.2 引入了如下的API:

android:layoutDirection —该属性设置组件的布局排列方向

android:textDirection — 该属性设置组件的文字排列方向

android:textAlignment — 该属性设置文字的对齐方式

getLayoutDirectionFromLocale() —该方法用于获取指定地区的惯用布局方式

在使用从右到左的排列方式时,你甚至创建自定义的布局方式,可绘制对象,以及其他资源。仅仅是简单地使用资源匹配器“ldrtl”对你的资源进行一下标识,你就可以把资源定义为“从右到左方向的资源”。在调试和优化从右到左的布局方面,HierarchyViewer目前支持对start/end属性,布局方向,文字方向,文字对齐方式等所有信息的层次化显示。

那么现在是时候为所有的用户开发优美的Android应用程序了,无论用户的文字语言习惯是从左到右,还是从右到左。我们非常期待看到这些优美应用的产生!

android:foreground


  1. android:foreground  设置布局的前景图,前景图不会被子元素覆盖
  2. android:foregroundGravity 设置布局前景图的位置

对于FrameLayout.LayoutParams,这里仅有android:layout_gravity属性,可以查看前面文章
http://isux.tencent.com/learn-android-from-zero-session3.html

我们可以实践一下:
新建一个Android项目,然后在layout文件夹找到布局xml文件并写入以下布局
QQ图片20140704105256

运行效果如下:
QQ截图20140704105354


android:measureAllChildren

viewFlipper中的item如何动态设置高度?

例如:

<ViewFlipper
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom">

<include layout="@layout/layoutone"/>

<include layout="@layout/layouttwo"/>

<include layout="@layout/layoutthree"/>

</ViewFlipper>

假如想做成一个layoutone是50dp,layouttwo是50dp,layoutthree是80dp高度的话,你会发现在子布局中设置高度后,ViewFlipper切换时总是以子view中高度最大的值为其高度值,也就是80dp。但是又不想让layoutone和layouttwo太高,开始的时候想通过LayoutParams动态设置吧,可惜不行(把viewflipper单独出来才行),然后找到需要设置android:measureAllChildren="false",或者代码调用setMeasureAllChildren(false);即可,因为默认情况下measureAllChildren=true。设置后各个view的高度就不同了。该属性也适合FrameLayout等。

原因:参见FrameLayout#onMeasure(int, int)的源码,android:measureAllChildren="true"时,将所有children加入到mMeasureAllChildren的链表中,然后再重新measure下。

android:clipChildren

效果图

看到这个图时你可以先想想如果是你,你怎么实现这个效果。马上想到用RelativeLayout?NO,NO,NO,,,

 

二、实现代码

复制代码
<? xml version="1.0" encoding="utf-8" ?>
< LinearLayout  xmlns:android ="http://schemas.android.com/apk/res/android"
    android:layout_width
="match_parent"
    android:layout_height
="match_parent"
    android:clipChildren
="false"
    android:orientation
="vertical"   >

     < android.support.v4.view.ViewPager
        
android:id ="@+id/view_pager"
        android:layout_width
="match_parent"
        android:layout_height
="0dip"
        android:layout_weight
="1.0"   />

     < LinearLayout
        
android:layout_width ="match_parent"
        android:layout_height
="48dip"
        android:background
="#B0C4DE"
        android:orientation
="horizontal"   >

         < ImageView
            
android:layout_width ="0dip"
            android:layout_height
="fill_parent"
            android:layout_weight
="1.0"
            android:scaleType
="fitCenter"
            android:src
="@drawable/ic_launcher"   />

         < ImageView
            
android:layout_width ="0dip"
            android:layout_height
="fill_parent"
            android:layout_weight
="1.0"
            android:scaleType
="fitCenter"
            android:src
="@drawable/ic_launcher"   />

         < ImageView
             
android:layout_width ="0dip"
            android:layout_height
="64dip"
            android:layout_gravity
="bottom"
            android:layout_weight
="1.0"
            android:scaleType
="fitCenter"
            android:src
="@drawable/ic_launcher"   />

         < ImageView
            
android:layout_width ="0dip"
            android:layout_height
="fill_parent"
            android:layout_weight
="1.0"
            android:scaleType
="fitCenter"
            android:src
="@drawable/ic_launcher"   />

         < ImageView
            
android:layout_width ="0dip"
            android:layout_height
="fill_parent"
            android:layout_weight
="1.0"
            android:scaleType
="fitCenter"
            android:src
="@drawable/ic_launcher"   />
     </ LinearLayout >

</ LinearLayout >
复制代码

  代码说明:

1、只需在根节点设置android:clipChildren为false即可,默认为true

2、可以通过android:layout_gravity控制超出的部分如何显示。

3、android:clipChildren的意思:是否限制子View在其范围内

 

翻文档找到下面介绍



android:clipChildren setClipChildren(boolean)        Defines whether a child is limited to draw inside of its bounds or not. 
android:clipToPadding setClipToPadding(boolean)Defines whether the ViewGroup will clip its drawing surface so as to exclude the padding area. 

2. clipToPadding用来定义ViewGroup是否允许在padding中绘制。默认情况下,cliptopadding被设置为ture, 也就是把padding中的值都进行裁切了。1.clipChild用来定义他的子控件是否要在他应有的边界内进行绘制。 默认情况下,clipChild被设置为true。 也就是不允许进行扩展绘制。

还有该功能是android第一个版本就已经提供的方法。 所有可以跨任意android版本使用。

 

这两个属性联合起来能干什么呢? 哈, 用来做一些类似于心形放大等点击特效非常合适啊。    不用去更改布局, 只需加入这两个属相,并引入动画效果就完成了。

按照上面的思路,做个demo吧。

先看看最后的效果吧, 点击第三个机器人就会播放一个变大的效果(类似于心变大的效果)

废话不多说,上关键代码:

  1.  布局代码(核心)

    主要看设的两个关键属性android:clipChildren和android:clipToPadding均为false。  这就让点击第三个小人时,可以跨边界进行绘制,并且允许其在padding区域内绘制。

复制代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity"
    android:clipChildren="false" 
    android:clipToPadding="false">

    <ImageView
        android:id="@+id/img1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/img2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/img3"
        android:onClick="AA"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@android:color/black"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/img4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/img5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/img6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/ic_launcher" />

</LinearLayout>
复制代码

 2. 其他辅助代码,如动画和act等内容

复制代码
<?xml version="1.0" encoding="utf-8"?>
<scale
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:toXScale="3.0"
    android:toYScale="3.0"
    android:duration="2000"
       android:pivotX="50%"
       android:pivotY="50%"
    >
</scale>
复制代码

 

复制代码
package com.example.clipchildren;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity {

    //只对第三个小人做放大动作
    ImageView image3 =null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        image3 = (ImageView) findViewById(R.id.img3);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
    public void AA(View view) {
        Toast.makeText(this, "aa", Toast.LENGTH_SHORT).show();
        Animation an = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.anims);
        image3.startAnimation(an);
    }
    
}
复制代码

 3. 除了这种应用,网上还有其他人对这两个属性的妙用:

  用viewPaper来实现一个Gallery效果:http://www.iteye.com/topic/1129898






http://blog.csdn.net/jaysong2012/article/details/41077657
http://blog.csdn.net/jaysong2012/article/details/41077657

 

Android Layout 布局属性全解二

标签: android LinearLay
  318人阅读  评论(0)  收藏  举报
  分类:

目录(?)[+]

Android  Layout 布局属性全解二

<LinearLayout>

[html]  view plain  copy
  1. <LinearLayout  
  2. android:orientation="horizontal/vertical"   //水平或竖直线性布局   
  3. android:baselineAligned="true"              //见下  
  4. android:baselineAlignedChildIndex=""        //以指定子组件作为基线对齐  
  5. android:weightSum=""                        //“定义weight总和的最大值。如果未指定该值,以所有子视图的layout_weight属性的累加值作为总和的最大值。一个典型的案例是:通过指定子视图的layout_weight属性为0.5,并设置LinearLayout的weightSum属性为1.0,实现子视图占据可用宽度的50%。”  
  6.   
  7. 设想一个场景:我们要在盒子里放置其他物体。盒子可用空间的比例就是weightSum,盒子中每个物体可用空间的比例就是layout_weight。例如,盒子的WeightSum是1,我们需要往盒子里放置两个物体:物体A和物体B。物体A的layout_weight为0.25,物体B的layout_weight为0.75。那么,物体A可以占据盒子25%的空间,而物体B可以占据剩下的75%的空间。  
  8. android:divider=""  
  9. android:dividerPadding=""  
  10. android:showDividers="">  

 Android官方文档是这么描述的:

     

     那到底这个属性是做什么用的呢?

         baselineAligned:基准线对齐。

     首先要解释什么是基准线,这个在中文中不常见,但在以字母为书写语言的其他国家非常常见。

     

      如上图所示,红线就是基线(baseline),是不是很熟悉,这不就是我们经常写英文的四条线中的第三条吗。

     

     那baselineAligned是做什么用的呢?根据官方文档,baselineAligned默认设置为true,当设置为false时,

      布局文件和它的子组件的基准线不对齐。

      让我们通过一个例子来看看效果怎样的。

     

复制代码
 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="wrap_content"
 5     android:baselineAligned="false"
 6     android:orientation="horizontal">
 7 
 8     <TextView
 9         android:layout_width="wrap_content"
10         android:layout_height="wrap_content"
11         android:layout_marginRight="5dip"
12         android:text="TextView:p" />
13     <TextView 
14         android:layout_width="wrap_content"
15         android:layout_height="wrap_content"
16         android:layout_marginRight="5dip"
17         android:textSize="30sp"
18         android:text="LargeTextView:p"
19         />
20 </LinearLayout>
复制代码

 这是将baselineAligned值设置为false时,也就是不对齐。看看运行效果:

  

  把baselineAligned值改为true。

  

  看,差别明显,这样就很好的理解了baselineAligned的作用了。其实,这个并不难,但我觉得不管难不难,只要不明白,就应该多思考,想想为什么。

LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失。因此一个垂直列表的每一行只会有一个widget或者是Container,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子控件的高度加上边框高度)。LinearLayout保持其所包含的widget或者是container之间的间隔以及互相对齐(相对一个控件的右对齐、中间对齐或者左对齐)。 

 

API说明

 

xml属性

android:baselineAligned:是否允许用户调整它内容的基线。

android:baselineAlignedChildIndex:当一个线性布局与另一个布局是按基线对齐的一部分,它可以指定其内容的基线对齐方式。

android:gravity:指定如何在该对象中放置此对象的内容(x/y坐标值)。

android:orientation:设置它内容的对其方向(横向/竖向)。

 

LinearLayout还支持为其包含的widget或者是container指定填充权值。好处就是允许其包含的widget或者是container可以填充屏幕上的剩余空间。这也避免了在一个大屏幕中,一串widgets或者是containers挤成一堆的情况,而是允许他们放大填充空白。剩余的空间会按这些widgets或者是containers指定的权值比例分配屏幕。默认的 weight 值为0,表示按照widgets或者是containers实际大小来显示,若高于0的值,则将Container剩余可用空间分割,分割大小具体取决于每一个widget或者是containerlayout_weight及该权值在所有widgets或者是containers中的比例。例如,如果有三个文本框,其中两个指定的权值为1,那么,这两个文本框将等比例地放大,并填满剩余的空间,而第三个文本框不会放大,按实际大小来显示。如果前两个文本框的取值一个为2,一个为1,显示第三个文本框后剩余的空间的2/3给权值为2的,1/3大小给权值为1的。也就是权值越大,重要度越大。

如果LinearLayout包含子LinearLayout,子LinearLayout之间的权值越大的,重要度则越小。如果有LinearLayout A包含LinearLayout C,DC的权值为2D的权值为1,则屏幕的2/3空间分给权值为1D1/3分给权值为2C。在LinearLayout嵌套的情况下,子LinearLayout必须要设置权值,否则默认的情况是未设置权值的子LinearLayout占据整个屏幕。





Android Layout布局属性三

<RelativeLayout>

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. android:layout_above="@id/xxx"  --将控件置于给定ID控件之上  
  2. android:layout_below="@id/xxx"  --将控件置于给定ID控件之下  
  3.   
  4. android:layout_toLeftOf="@id/xxx"  --将控件的右边缘和给定ID控件的左边缘对齐  
  5. android:layout_toRightOf="@id/xxx"  --将控件的左边缘和给定ID控件的右边缘对齐  
  6.   
  7. android:layout_alignLeft="@id/xxx"  --将控件的左边缘和给定ID控件的左边缘对齐  
  8. android:layout_alignTop="@id/xxx"  --将控件的上边缘和给定ID控件的上边缘对齐  
  9. android:layout_alignRight="@id/xxx"  --将控件的右边缘和给定ID控件的右边缘对齐  
  10. android:layout_alignBottom="@id/xxx"  --将控件的底边缘和给定ID控件的底边缘对齐  
  11. android:layout_alignParentLeft="true"  --将控件的左边缘和父控件的左边缘对齐  
  12. android:layout_alignParentTop="true"  --将控件的上边缘和父控件的上边缘对齐  
  13. android:layout_alignParentRight="true"  --将控件的右边缘和父控件的右边缘对齐  
  14. android:layout_alignParentBottom="true" --将控件的底边缘和父控件的底边缘对齐  
  15. android:layout_centerInParent="true"  --将控件置于父控件的中心位置  
  16. android:layout_centerHorizontal="true"  --将控件置于水平方向的中心位置  
  17. android:layout_centerVertical="true"  --将控件置于垂直方向的中心位置  




http://blog.csdn.net/jaysong2012/article/details/41079227
http://blog.csdn.net/jaysong2012/article/details/41079227
http://blog.csdn.net/jaysong2012/article/details/41079227

View属性说明

下面对View的属性进行详细说明

Android:alpha
关联方法: setAlpha(float) 
属性说明: 视图透明度,值在0-1之间。0为完全透明,1为完全不透明。

android:background
关联方法: setBackgroundResource(int) 
属性说明: 视图背景

android:clickable
关联方法: setClickable(boolean) 
属性说明: 视图是否可点击

android:contentDescription
关联方法: setContentDescription(CharSequence) 
属性说明: 设置View的备注说明,作为一种辅助功能提供,为一些没有文字描述的View提供说明

android:drawingCacheQuality
关联方法: setDrawingCacheQuality(int) 
属性说明: "设置绘图时半透明质量。有可以取以下3个值 auto——默认,由框架决定 high——高质量,使用较高的颜色深度,消耗更多的内存 low——低质量,使用较低的颜色深度,但是用更少的内存"

android:duplicateParentState
关联方法: 
属性说明: 如果设置此属性,将直接从父容器中获取绘图状态(光标,按下等)

android:fadeScrollbars
关联方法: setScrollbarFadingEnabled(boolean) 
属性说明: 定义在ScrollBar没有使用时,是否褪色。

android:fadingEdgeLength
关联方法: getVerticalFadingEdgeLength() 
属性说明: 设置边框渐变的长度。

android:filterTouchesWhenObscured
关联方法: setFilterTouchesWhenObscured(boolean) 
属性说明: view所在窗口被其它可见窗口遮住时,是否过滤触摸事件。

android:fitsSystemWindows
关联方法: setFitsSystemWindows(boolean) 
属性说明: 设置布局调整时是否考虑系统窗口(如状态栏)

android:focusable
关联方法: setFocusable(boolean) 
属性说明: 设置是否获得焦点。若有requestFocus()被调用时,后者优先处理。注意在表单中想设置某一个如EditText获取焦点,光设置这个是不行的,需要将这个EditText前面的focusable都设置为false才行。在Touch模式下获取焦点需要设置focusableInTouchMode为true。

android:focusableInTouchMode
关联方法: setFocusableInTouchMode(boolean) 
属性说明: 设置在Touch模式下View是否能取得焦点。

android:hapticFeedbackEnabled
关联方法: setHapticFeedbackEnabled(boolean) 
属性说明: 是否启用触摸反馈,启用后就是在点击等操作时会有震动等反馈效果

android:id
关联方法: setId(int) 
属性说明: 给当前View设置一个在当前layout.xml中的唯一编号,可以通过调用View.findViewById() 或Activity.findViewById()根据这个编号查找到对应的View。不同的layout.xml之间定义相同的id不会冲突。

android:importantForAccessibility
关联方法: setImportantForAccessibility(int) 
属性说明: 设置可达性的重要性

android:isScrollContainer
关联方法: setScrollContainer(boolean) 
属性说明: 设置当前View为滚动容器。这里没有测试出效果来,ListView/ GridView/ ScrollView根本就不用设置这个属性,而EdidText设置android:scrollbars也能出滚动条

android:keepScreenOn
关联方法: setKeepScreenOn(boolean) 
属性说明: 视图在可见的情况下是否保持唤醒状态。

android:layerType
关联方法: setLayerType(int,Paint) 
属性说明: "设置指定层的类型,可以取以下3个值: none——不指定 software——软件层。 hardware——硬件层。使用硬件加速。"

android:layoutDirection
关联方法: setLayoutDirection(int) 
属性说明: 定义布局图纸的方向

android:longClickable
关联方法: setLongClickable(boolean) 
属性说明: 是否响应长点击事件

android:minHeight
关联方法: setMinimumHeight(int) 
属性说明: 设置视图最小高度

android:minWidth
关联方法: setMinimumWidth(int) 
属性说明: 设置视图最小宽度

android:nextFocusDown
关联方法: setNextFocusDownId(int) 
属性说明: 向下移动焦点时,下一个获取焦点的view的id

android:nextFocusForward
关联方法: setNextFocusForwardId(int) 
属性说明: 下一个获取焦点的view的id

android:nextFocusLeft
关联方法: setNextFocusLeftId(int) 
属性说明: 向左移动焦点时,下一个获取焦点的view的id

android:nextFocusRight
关联方法: setNextFocusRightId(int) 
属性说明: 向右移动焦点时,下一个获取焦点的view的id

android:nextFocusUp
关联方法: setNextFocusUpId(int) 
属性说明: 向上移动焦点时,下一个获取焦点的view的id

android:onClick
关联方法: 
属性说明: 点击时,要调用的方法的名称。

android:padding
关联方法: setPaddingRelative(int,int,int,int) 
属性说明: 设置上下左右的边距

android:paddingBottom
关联方法: setPaddingRelative(int,int,int,int) 
属性说明: 下边距

android:paddingEnd
关联方法: setPaddingRelative(int,int,int,int) 
属性说明: 与android:paddingRight相同

android:paddingLeft
关联方法: setPadding(int,int,int,int) 
属性说明: 左边距

android:paddingRight
关联方法: setPadding(int,int,int,int) 
属性说明: 右边距

android:paddingStart
关联方法: setPaddingRelative(int,int,int,int) 
属性说明: android:paddingLeft相同

android:paddingTop
关联方法: setPaddingRelative(int,int,int,int) 
属性说明: 上边距

android:requiresFadingEdge
关联方法: setVerticalFadingEdgeEnabled(boolean) 
属性说明: 定义滚动时边缘是否褪色

android:rotation
关联方法: setRotation(float) 
属性说明: 旋转度数

android:rotationX
关联方法: setRotationX(float) 
属性说明: 水平旋转度数

android:rotationY
关联方法: setRotationY(float) 
属性说明: 竖直旋转度数

android:saveEnabled
关联方法: setSaveEnabled(boolean) 
属性说明: 在配置改变等情况出现时是否保存view的状态数据。如果你的view有id,那默认系统就会帮你保存。

android:scaleX
关联方法: setScaleX(float) 
属性说明: 水平方向缩放比例

android:scaleY
关联方法: setScaleY(float) 
属性说明: 竖直方向缩放比例

android:scrollX
关联方法: 
属性说明: x方向的滚动偏移。即在水平方向滚动了多少距离

android:scrollY
关联方法: 
属性说明: y方向的滚动偏移。即在竖直方向滚动了多少距离

android:scrollbarAlwaysDrawHorizontalTrack
关联方法: 
属性说明: 是否总是绘制水平滚动条的滚动轨道

android:scrollbarAlwaysDrawVerticalTrack
关联方法: 
属性说明: 是否总是绘制竖直滚动条的滚动轨道

android:scrollbarDefaultDelayBeforeFade
关联方法: setScrollBarDefaultDelayBeforeFade(int) 
属性说明: 滚动条在n毫秒后开始淡出。

android:scrollbarFadeDuration
关联方法: setScrollBarFadeDuration(int) 
属性说明: 滚动条用多长时间淡出完毕。

android:scrollbarSize
关联方法: setScrollBarSize(int) 
属性说明: 设置滚动条的尺寸。垂直滚动条的宽度、水平滚动条的高度

android:scrollbarStyle
关联方法: setScrollBarStyle(int) 
属性说明: "滚动条的风格。共4组值: insideOverlay——内贴图 insideInset——内插图 outsideOverlay——外贴图 outsideInset——外插图。 inside就是滚动条在绘制在padding以内;outside就是不需要绘制在padding内(即view的边界处);Overlay是贴图,就是直接覆盖在内容的上方,这样内容可能会显示到滚动条下方去;Inset是插图,就是会在对应padding上加上滚动条的宽度,以不让内容显示到滚动条下面去。"

android:scrollbarThumbHorizontal
关联方法: 
属性说明: 水平滚动块的drawable对象

android:scrollbarThumbVertical
关联方法: 
属性说明: 竖直滚动块的drawable对象

android:scrollbarTrackHorizontal
关联方法: 
属性说明: 水平滚动条滚动轨道的drawable对象

android:scrollbarTrackVertical
关联方法: 
属性说明: 竖直滚动条滚动轨道的drawable对象

android:scrollbars
关联方法: 
属性说明: "设置可显示的滚动条。有3个取值: none——不显示滚动条 horizontal——显示水平滚动条 vertical——显示竖直滚动条"

android:soundEffectsEnabled
关联方法: setSoundEffectsEnabled(boolean) 
属性说明: 点击或触摸该view时,是否需要有声音效果

android:tag
关联方法: 
属性说明: string标识。类似id,id是整数标识。

android:textAlignment
关联方法: setTextAlignment(int) 
属性说明: 设置文本的显示方式。

android:textDirection
关联方法: setTextDirection(int) 
属性说明: 设置文本的显示方向。

android:transformPivotX
关联方法: setPivotX(float) 
属性说明: 水平方向偏转量

android:transformPivotY
关联方法: setPivotY(float) 
属性说明: 竖直方向偏转量

android:translationX
关联方法: setTranslationX(float) 
属性说明: 水平方向的移动距离

android:translationY
关联方法: setTranslationY(float) 
属性说明: 竖直方向的移动距离

android:visibility
关联方法: setVisibility(int) 
属性说明: "view的可见性。有3个取值: gone——不可见,同时不占用view的空间; invisible——不可见,但占用view的空间; visible——可见"

 

 


TextView属性说明

下面对TextView的属性进行说明
android:autoLink
关联方法: setAutoLinkMask(int)
属性说明: 设置是否“当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接”。可选值(none/web/email/phone/map/all)

android:autoText
关联方法: setKeyListener(KeyListener)
属性说明: 如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。

android:bufferType
关联方法: setText(CharSequence,TextView.BufferType)
属性说明: 指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符,也就是说getText后可调用append方法设置文本内容。

android:capitalize
关联方法: setKeyListener(KeyListener)
属性说明: 设置自动大写属性。比如设置为2,自动大写单词首字符;设置为1,自动大写每句话的首字母等等。

android:cursorVisible
关联方法: setCursorVisible(boolean)
属性说明: 设定光标为显示/隐藏,默认显示。

android:digits
关联方法: setKeyListener(KeyListener)
属性说明: 设置允许输入哪些字符。如“1234567890.+-*/%\n()”

android:drawableBottom
关联方法: setCompoundDrawablesWithIntrinsicBounds(int,int,int,int)
属性说明: 在text的下方输出一个drawable。如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。

android:drawableEnd
关联方法: setCompoundDrawablesRelativeWithIntrinsicBounds(int,int,int,int)
属性说明: 在文本结尾处显示drawable对象。它的值可以是其它资源的引用,比如,"@[+][package:]type:name"或者"?[package:][type:]name";也可以是颜色值,如"#rgb", "#argb", "#rrggbb", or "#aarrggbb"。

android:drawableLeft
关联方法: setCompoundDrawablesWithIntrinsicBounds(int,int,int,int)
属性说明: 在text的左边输出一个drawable。

android:drawablePadding
关联方法: setCompoundDrawablePadding(int)
属性说明: 设置text与drawable的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。

android:drawableRight
关联方法: setCompoundDrawablesWithIntrinsicBounds(int,int,int,int)
属性说明: 在text的右边输出一个drawable。

android:drawableStart
关联方法: setCompoundDrawablesRelativeWithIntrinsicBounds(int,int,int,int)
属性说明: 在文本开始处显示drawable对象。它的值可以是其它资源的引用,比如,"@[+][package:]type:name"或者"?[package:][type:]name";也可以是颜色值,如"#rgb", "#argb", "#rrggbb", or "#aarrggbb"。

android:drawableTop
关联方法: setCompoundDrawablesWithIntrinsicBounds(int,int,int,int)
属性说明: 在text的正上方输出一个drawable。

android:editable
关联方法: 
属性说明: 设置是否可编辑。这里无效果,在EditView中才有效果。

android:editorExtras
关联方法: setInputExtras(int)
属性说明: 设置文本的额外的输入数据。在EditView中才有效果。

android:ellipsize
关联方法: setEllipsize(TextUtils.TruncateAt)
属性说明: 设置当文字过长时,该控件该如何显示。有如下值设置:”start”—–省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee” ——以跑马灯的方式显示(动画横向移动)

android:ems
关联方法: setEms(int)
属性说明: 设置TextView的宽度为N个字符的宽度。

android:fontFamily
关联方法: setTypeface(Typeface)
属性说明: 文本的字形体系。

android:freezesText
关联方法: setFreezesText(boolean)
属性说明: 设置保存文本的内容以及光标的位置。

android:gravity
关联方法: setGravity(int)
属性说明: 设置文本位置,如设置成“center”,文本将居中显示。

android:height
关联方法: setHeight(int)
属性说明: 设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)

android:hint
关联方法: setHint(int)
属性说明: Text为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。

android:imeActionId
关联方法: setImeActionLabel(CharSequence,int)
属性说明: 设置IME动作ID。

android:imeActionLabel
关联方法: setImeActionLabel(CharSequence,int)
属性说明: 设置IME动作标签。在EditView再做说明。

android:imeOptions
关联方法: setImeOptions(int)
属性说明: 附加功能,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号。

android:includeFontPadding
关联方法: setIncludeFontPadding(boolean)
属性说明: 设置文本是否包含顶部和底部额外空白,默认为true。

android:inputMethod
关联方法: setKeyListener(KeyListener)
属性说明: 为文本指定输入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,但是这里报错找不到。

android:inputType
关联方法: setRawInputType(int)
属性说明: 设置文本的类型,用于帮助输入法显示合适的键盘类型。在EditView中再详细说明,这里无效果。

android:lineSpacingExtra
关联方法: setLineSpacing(float,float)
属性说明: 设置行间距。

android:lineSpacingMultiplier
关联方法: setLineSpacing(float,float)
属性说明: 设置行间距的倍数。如”1.2”

android:lines
关联方法: setLines(int)
属性说明: 设置文本的行数,设置两行就显示两行,即使第二行没有数据。

android:linksClickable
关联方法: setLinksClickable(boolean)
属性说明: 设置链接是否点击连接,即使设置了autoLink。

android:marqueeRepeatLimit
关联方法: setMarqueeRepeatLimit(int)
属性说明: 在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为marquee_forever时表示无限次。

android:maxEms
关联方法: setMaxEms(int)
属性说明: 设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。

android:maxHeight
关联方法: setMaxHeight(int)
属性说明: 设置文本区域的最大高度

android:maxLength
关联方法: setFilters(InputFilter)
属性说明: 限制显示的文本长度,超出部分不显示。

android:maxLines
关联方法: setMaxLines(int)
属性说明: 设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。

android:maxWidth
关联方法: setMaxWidth(int)
属性说明: 设置文本区域的最大宽度

android:minEms
关联方法: setMinEms(int)
属性说明: 设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。

android:minHeight
关联方法: setMinHeight(int)
属性说明: 设置文本区域的最小高度

android:minLines
关联方法: setMinLines(int)
属性说明: 设置文本的最小行数,与lines类似。

android:minWidth
关联方法: setMinWidth(int)
属性说明: 设置文本区域的最小宽度

android:numeric
关联方法: setKeyListener(KeyListener)
属性说明: 如果被设置,该TextView有一个数字输入法。此处无用,设置后唯一效果是TextView有点击效果,此属性在EdtiView将详细说明。

android:password
关联方法: setTransformationMethod(TransformationMethod)
属性说明: 以小点”.”显示文本

android:phoneNumber
关联方法: setKeyListener(KeyListener)
属性说明: 设置为电话号码的输入方式。

android:privateImeOptions
关联方法: setPrivateImeOptions(String)
属性说明: 设置输入法选项,在EditText中才有作用。

android:scrollHorizontally
关联方法: setHorizontallyScrolling(boolean)
属性说明: 设置文本超出TextView的宽度的情况下,是否出现横拉条。

android:selectAllOnFocus
关联方法: setSelectAllOnFocus(boolean)
属性说明: 如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。TextView中设置后无效果。

android:shadowColor
关联方法: setShadowLayer(float,float,float,int)
属性说明: 指定文本阴影的颜色,需要与shadowRadius一起使用。

android:shadowDx
关联方法: setShadowLayer(float,float,float,int)
属性说明: 设置阴影横向坐标开始位置。

android:shadowDy
关联方法: setShadowLayer(float,float,float,int)
属性说明: 设置阴影纵向坐标开始位置。

android:shadowRadius
关联方法: setShadowLayer(float,float,float,int)
属性说明: 设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。

android:singleLine
关联方法: setTransformationMethod(TransformationMethod)
属性说明: 设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如android:text="test_ singleLine " android:singleLine="true" android:layout_width="20dp"将只显示“t…”。如果不设置singleLine或者设置为false,文本将自动换行

android:text
关联方法: setText(CharSequence,TextView.BufferType)
属性说明: 设置显示文本.

android:textAllCaps
关联方法: setAllCaps(boolean)
属性说明: 设置文本全为大写。值为"true"或"false"。

android:textAppearance
关联方法: 
属性说明: 设置文字外观。如“?android:attr/textAppearanceLargeInverse

android:textColor
关联方法: setTextColor(int)
属性说明: 设置文本颜色

android:textColorHighlight
关联方法: setHighlightColor(int)
属性说明: 被选中文字的底色,默认为蓝色

android:textColorHint
关联方法: setHintTextColor(int)
属性说明: 设置提示信息文字的颜色,默认为灰色。与hint一起使用。

android:textColorLink
关联方法: setLinkTextColor(int)
属性说明: 文字链接的颜色.

android:textIsSelectable
关联方法: isTextSelectable()
属性说明: 设置非编辑文本可否被选择。值为"true"或"false"。

android:textScaleX
关联方法: setTextScaleX(float)
属性说明: 设置文字之间间隔,默认为1.0f。

android:textSize
关联方法: setTextSize(int,float)
属性说明: 设置文字大小,推荐度量单位”sp”,如”15sp”

android:textStyle
关联方法: setTypeface(Typeface)
属性说明: 设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开

android:typeface
关联方法: setTypeface(Typeface)
属性说明: 设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]

android:width
关联方法: setWidth(int)
属性说明: 设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)。








http://blog.csdn.net/jaysong2012/article/details/41079227
http://blog.csdn.net/jaysong2012/article/details/41079227




http://blog.csdn.net/jaysong2012/article/details/41079445
http://blog.csdn.net/jaysong2012/article/details/41079445

Android 控件属性详解

Android:fadingEdgeLength

设置淡入淡出边缘的长度,可以接受大小值的单位是:px、dp、sp、in、mm,也可以参考大小值资源

android:fitsSystemWindows

是否适合系统窗体,取值为true或false。该属性只对不是子组件的组件有效

android:focusable

是否可以获取焦点,取值true或false

android:focusableInTouchMode

是否可以在触摸模式下获取焦点,true或false

android:hapticFeedbackEnabled

是否允许触摸反馈效果,true或false

android:id

提供该组件的标识名,可以借助Activity或View实例的findViewById方法通过id获取对应的组件实例对象,其属性值的形式为:android:id=”@+id/id<id>”

android:isScrollContainer

设置该组件是否设置为滚动条容器,true或false

android:keepScreenOn

控制该组件在显示的时候保持在屏幕显示,true或false

android:longClickable

是否响应长时间点击事件,true或false

android:minHeight

组件的最小高度,取值同android:fadingEdgeLength

android:minWidth

组件的最小宽度,取值同android:fadingEdgeLength

android:nextFocusDown

设置下一个向下获取焦点的组件,取值为id

android:nextFocusLeft

设置下一个向左获取焦点的组件,取值为id

android:nextFocusRight

设置下一个向右获取焦点的组件,取值为id

android:nextFocusUp

设置下一个向上获取焦点的组件,取值为id

android:padding

设置上、下、左、右4个边缘的填充距离,必须是一个大小值,取值同android:fadingEdgeLength

android:paddingBottom

设置下端边缘的填充距离,取值同android:padding

android:paddingLeft

设置左端边缘的填充距离,取值同android:padding

android:paddingRight

设置右端边缘的填充距离,取值同android:padding

android:paddingTop

设置上端边缘的填充距离,取值同android:padding

android:saveEnabled

是否允许保存状态,取值为true或false

android:scrollX

设置垂直滚动条的位移量,必须是一个大小值,取值同android:padding

android:scrollY

设置水平滚动条的位移量,必须是一个大小值,取值同android:padding

android:scrollbarAlwaysDrawHorizontalTrack

是否总是设置水平滚动条滑块,true或false

android:scrollbarAlwaysDrawVerticalTrack

是否总是设置垂直滚动条滑块,true或false

android:scrollbarSize

设置垂直滚动条的宽度和水平滚动条的长度,必须是一个大小值,取值同android:padding

android:scrollbarStyle

设置滚动条的样式,取值为下列之一:

insideOverlay在填充区域内,覆盖形式

insideInset在填充区域内,插进形式(凹进)

outsideOverly在绑定组件边缘,覆盖形式

outsideInset在绑定组件边缘,插进形似

android:scrollbarThumbHorizontal

设置水平滚动条按钮的绘制资源,必须引用可绘制资源

android:scrollbarThumbVertical

设置垂直滚动条按钮的绘制资源,必须引用可绘制资源

android:scrollbarTrackHorizontal

设置水平滚动条轨道的绘制资源,必须引用可绘制资源

android:scrollbarTrackVertical

设置水平滚动条轨道的绘制资源,必须引用可绘制资源

android:scrollbars

设置滚动显示,可以为一下一个或多个值:

none不显示滚动条

horizontal只显示水平滚动条

vertical只显示垂直滚动条

android:soundEffectsEnabled

是否允许音效,取值为true或false

android:tag

设置标记内容,可以通过View类实例的getTag方法获取该组件的标记内容,或者使用findViewByTag通过标记来查找相应的子组件

android:visibility

设置初始化可见状态,取值为以下之一:

visible可见(默认值)

invisible不可见(其所占空间将留出)

gone完全不可见(其所占空间都不会留出)

 

 

线性布局LinearLayout组件属性列表

属性

说明

android:baselineAligned

基线对齐

android:baselineAlignedChildIndex

以指定子组件作为基线对齐

android:gravity

指定该物体放入其容器的重心位置,取值为下列之一:

top上方,物体大小不变

bottom下方,物体大小不变

left左方,物体大小不变

right右方,物体大小不变

center_vertical垂直方向的中间,物体大小不变

fill_vertical填满垂直方向,自动进行大小调整

center_horizontal水平方向的中间,大小不变

fill_horizontal填满水平方向,自动进行大小调整

center居中(既是水平也是垂直方向的中间)

fill填满整个容器

clip_vertical

clip_horizontal

android:orientation

布局方向,取值为下列之一:

horizontal水平的

vertical垂直的(默认值)

android:weightSum

组件的比重和

 

 

线性布局参数LinearLayout_Layout

属性

说明

android:layout_gravity

当前子组件的心位置

android:layout_height

当前子组件的高度

android:layout_weight

当前子组件的空间比重,取值为浮点数

android:layout_width

当前子组件的宽度

 

 

相对布局RalativeLayout

属性

说明

android:gravity

设置添加组件的重心

android:ignoreGravity

忽略布局重心的影响

 

 

相对布局参数RalativeLayout_Layout

属性

说明

android:layout_above

将当前组件的下边缘放置于参照组件之上,该属性为参照组件的ID

android:layout_alignBaseline

当前组件与参照组件的基线对齐,该属性为参照组件的ID

android:layout_alignBottom

当前组件与参照组件的下边界对齐,该属性为参照组件的ID

android:layout_alignLeft

当前组件与参照组件的左边界对齐,该属性为参照组件的ID

android:layout_alignParenBottom

当前组件与父组件的下边界对齐,true或false

android:layout_alignParentLeft

当前组件与父组件的左边界对齐,true或false

android:layout_alignParentRight

当前组件与父组件的右边界对齐,true或false

android:layout_alignParentTop

当前组件与父组件的上边界对齐,true或false

android:layout_alignRight

当前组件与参照组件的右边界对齐,该属性为参照组件的ID

android:layout_alignTop

当前组件与参照组件的上边界对齐,该属性为参照组件的ID

android:layout_alignWithParentIfMissing

true或false

android:layout_below

将当前组件的上边缘放置于参照组件之下,该属性为参照组件的ID

android:layout_centerHorizontal

当前组件放置到父组件的水平居中的位置

android:layout_centerInParent

当前组件放置到父组件的重心位置

android:layout_centerVertical

当前组件放置到父组件垂直居中的位置

android:layout_toLeftOf

将当前组件的右边缘放置于参照组件之下,该属性为参照组件的ID

android:layout_toRightOf

将当前组件的左边缘放置于参照组件之下,该属性为参照组件的ID

 

 

绝对布局参数AbsoluteLayout_Layout

属性

说明

android:layout_x

当前组件的x坐标位置(从左到右方向)

android:layout_y

当前组件的y坐标位置(从上到下方向)

 

 

框布局FrameLayout

属性

说明

android:foreground

前置图片

android:foregroundGravity

前置图片重心

android:measureAllChildren

在切换显示时是否侧重所有子组件的大小

android:layout_gravity

添加组件的重心

 

 

框布局参数FrameLayout_Layout

属性

说明

android:layout_gravity

当前子组件所添加的重心位置

 

 

表格布局TableLayout

属性

说明

android:collapseColumns

设置允许折叠的列编号,列编号基于0,属性值可以是单个或多个列编号,编号与编号直接用逗号”,”分隔

android:shrinkColumns

设置允许收缩的列编号,列编号基于0,属性值可以是单个或多个列编号,编号与编号直接用逗号”,”分隔

android:stretchColumns

设置允许伸展的列编号,列编号基于0,属性值可以是单个或多个列编号,编号与编号直接用逗号”,”分隔

 

 

表格行的单元TableRow_Cell

属性

说明

android:layout_column

设置该单元格的列编号(基于0)

android:layout_span

指明该单元格可以跨越的列数

 

 

抽象列表视图组件AbsListView

属性

说明

android:cacheColorHint

设置缓冲颜色

android:drawSelectorOnTop

是否将选择器绘制在备选条目上方,取值为true或false

android:fastScrollEnabled

允许快速滚动

android:listSelector

指示选择器的内容

android:scrollingCache

滚动时是否使用绘制缓冲,true或false

android:smoothScrollbar

平滑滚动条

android:stackFromBottom

从下方堆叠条目

android:textFilterEnbled

是否允许过滤

android:transcriptMode

设置抄本模式

 

 

列表视图组件ListView

属性

说明

android:choiceMode

选择模式

android:divider

分割线颜色或组件的参考

android:dividerHeight

分割线高度

android:entries

指定绑定到当前列表视图的一个数组资源

android:footerDividersEnabled

是否允许页脚分割线

android:headerDividersEnabled

是否允许页眉分割线

 

 

格子视图组件GridView

属性

说明

android:columnWidth

指定列宽

android:gravity

添加组件的重心位置

android:horizontalSpacing

水平空间

android:numColumns

指定列数

android:strechMode

伸展模式

android:verticalSpacing

垂直空间

 

 

画廊视图组件Gallery

属性

说明

android:animationDuration

动画持续时间

android:gravity

添加组件的重心位置

android:spacing

间隔空间

android:unselectedAlpha

非选择条目的透明度

 

 

文本组件TextView

属性

说明

android:autoLink

是否自动链接(内容是网址或是电子邮件时)

android:autoText

自动更新拼音错误

android:bufferType

设置缓冲区类型

android:capitalize

自动大写

android:cursorVisible

光标是否可见,true或false

android:digits

所接受的数字字符

android:drawableBottom

在文本下方绘制

android:drawableLeft

在文本左方绘制

android: drawablePadding

绘制填充区

android: drawableRight

在文本右方绘制

android: drawableTop

在文本上方绘制

android:editable

是否可编辑,true或false

android:editorExtras

 

android:ellipsize

当内容过长时会自动打断单词内容

android:ems

 

android:enabled

是否可用,true或false

android:freezesText

是否冻结文本

android:gravity

指明文本的重心位置

android:height

高度值

android:hint

指示内容

android:imeActionId

 

android:imeActionLabel

 

android:imeOptions

输入法选项

android:includeFontPadding

 

android:inputMethod

指定输入法

android:inputType

输入类型,取值为下列之一:

none

text普通文本

textCapCharacters大写字符

textCapWords单词首字母大写

textCapSentences句子首字母大写

textAutoCorret自动更正

textAutoComplete自动完成

textMultiLine多行内容

textUri,Uri

textEmailAddress电子邮件地址

textEmailSubject电子邮件主题

textShortMessage短消息

textLongMessage长消息

textPersonName个人姓名

textPostalAddress邮政地址

textPassword密码

textVIsiblePassword可见的密码

textWebEditText网页格式

textFilter过滤字符串

textPhonetic语言发音

number数字

numberSigned有符号数字

numberDecimal十进制数字

phone电话号码

datetime日期时间

date日期

time时间

android:lineSpacingExtra

 

android:lineSpacingMultiplier

 

android:lines

设置文本行数

android:linksClickable

 

android:marqueeRepeatLimit

来回移动的动画次数

android:maxEms

 

android:maxHeight

物体的最大高度

android:maxLength

最大文本长度

android:maxLines

最大行数

android:minWidth

物体的最大宽度

android:minEms

 

android:minHeight

物体的最小高度

android:minLines

最小文本行数

android:minWidth

物体的最小宽度

android:numeric

是否使用数字输入方式

android:password

是否使用密码输入方式

android:phonenumber

是否使用电话号码输入方式

android:privateImeOptions

 

android:scrollHorizontally

 

android:selectAllOnFocus

 

android:shadowColor

文本阴影颜色

android:shadowDx

阴影的水平偏移

android:shadowDy

阴影的垂直偏移

android:shadowRadius

阴影的半径

android:singleLine

是否单行(不自动换行)

android:text

显示的文本内容

android:textApperance

基本字体颜色、字样、大小和样式

android:textColor

文本颜色

android: textColorHighlight

文本高亮颜色

android: textColorHint

文本提示颜色

android:textColorLink

文本链接颜色

android:textScaleX

文本缩放因数

android:textSize

文本大小

android:textStyle

文本样式,取值为下列之一:

bold粗体

italic斜体

bolditalic粗斜体

android:typeface

字样

android:width

物体的高度

 

 

自动完成文本框AutoCompleteTextView

属性

说明

android:completionHint

显示提示

android:completionHintView

提示视图

android:completionThreshold

设置开始提示的字符数

android:dropDownAnchor

下拉框链接视图

android:dropDownSelector

下拉框选择器

android:dropDownWIdth

下拉框宽度

 

 

图片视图ImageView

属性

说明

android:adjustViewBounds

是否调整视图范围

android:baselineAlignBottom

是否按照下端基线对齐

android:cropToPadding

是否按照填充进行裁剪

android:maxHeight

设置最大高度

android:maxWidth

设置最大宽度

android:scaleType

缩放类型,取值为下列之一:

matrix图片真实大小

fitXY适合图片大小

fitStart

fitCenter

fitEnd

center居中显示

centerCrop

centerInside

android:src

设置绘制用内容

android:tint

设置染色颜色值

 

 


  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值