Android中有六大布局,分别是: LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局) FrameLayout(帧布局),AbsoluteLayout(绝对布局),GridLayout(网格布局),比较常用的就是LinearLayout(线性布局),RelativeLayout(相对布局)

一、Android常用布局属性

1. LinearLayout的特有属性

android:orientation:设置布局排列方式
   android:layout_weight:设置所占布局的权重
   android:weightSum:设置最大权重和

2. RelativeLayout的特有属性

  • 属性值为“true”或“false”
    android:layout_centerHrizontal:位于父控件的横向中间位置
    android:layout_centerVertical:位于父控件的纵向中间位置
    android:layout_centerInparent:位于父控件的纵横向中间位置
    android:layout_alignParentBottom:贴紧父元素的下边缘
    android:layout_alignParentLeft:贴紧父元素的左边缘
    android:layout_alignParentRight:贴紧父元素的右边缘
    android:layout_alignParentTop:贴紧父元素的上边缘
    android:layout_alignParentStart:将控件开始位置与父控件的开始位置对齐
    android:layout_alignParentEnd:将控件结束位置与父控件的结束位置对齐

  • 属性值为引用“id”
    android:layout_below:在某元素的下方
    android:layout_above:在某元素的的上方
    android:layout_toLeftOf:在某元素的左边
    android:layout_toRightOf:在某元素的右边
    android:layout_toStartOf:在某元素的开始位置
    android:layout_toEndOf:在某元素的结束位置
    android:layout_alignTop:本元素的上边缘和某元素的的上边缘对齐
    android:layout_alignLeft:本元素的左边缘和某元素的的左边缘对齐
    android:layout_alignBottom:本元素的下边缘和某元素的的下边缘对齐
    android:layout_alignRight:本元素的右边缘和某元素的的右边缘对齐
    android:layout_alignStart:本元素与某元素开始位置对齐
    android:layout_alignEnd:本元素与某元素结束位置对齐
    android:layout_alignBaseline:将当前控件的基线与指定id控件t的基线对齐

3. 通用属性

  • padding(内边距)
    android:padding:设置本元素内容离本元素四边缘相同的距离
    android:paddingStart:本元素内容离本元素开始位置的距离
    android:paddingEnd:本元素内容离本元素结束位置的距离
    android:paddingLeft:本元素内容离本元素左边缘的距离
    android:paddingRight:本元素内容离本元素右边缘的距离
    android:paddingTop:本元素内容离本元素上边缘的距离
    android:paddingBottom: 本元素内容离本元素下边缘的距离

  • margin:(外边距)
    android:layout_margin:设置离某元素四边缘相同的距离
    android:layout_marginStart:离某元素开始位置的距离
    android:layout_marginEnd:离某元素结束位置的距离
    android:layout_marginLeft:离某元素左边缘的距离
    android:layout_marginRight:离某元素右边缘的距离
    android:layout_marginTop:离某元素上边缘的距离
    android:layout_marginBottom:离某元素底边缘的距离

  • 单个控件属性
    android:id:指定控件的ID
    android:width:设置控件的宽度
    android:maxWidth:设置控件的最大宽度
    android:minWidth:设置控件的最小宽度
    android:height:设置控件的高度
    android:maxHeight:设置控件的最大高度
    android:minHeight:设置控件的最小高度
    android:background:设置该控件的背景色
    android:text:设置控件中显示的文字
    android:textSize:设置控件中字体的大小
    android:textColor:设置控件中字体的颜色
    android:textStyle:设置控件中字体的样式
    android:grivity:设置控件的基本位置,针对控件里的元素来说
    android:layout_gravity:设置控件的基本位置,针对控件本身而言
    android:singleLine:设置单行显示
    android:drawableLeft:在text的左边输出一个drawable,可以是图片,样式,颜色等
    android:drawableRight:在text的右边输出一个drawable,可以是图片,样式,颜色等
    android:drawableTop:在text的上方输出一个drawable,可以是图片,样式,颜色等
    android:drawableBottom:在text的下方输出一个drawable,可以是图片,样式,颜色等
    android:drawablePadding:设置text与drawable的间隔
    android:ems:设置TextView的宽度为N个字符的宽度
    android:maxEms:设置TextView的宽度为最长为N个字符的宽度
    android:minEms:设置TextView的宽度为最短为N个字符的宽度
    android:maxLength:限制显示的文本长度,超出部分不显示
    android:lines:设置文本的行数
    android:maxLines:设置文本的最大显示行数
    android:minLines:设置文本的最小显示行数
    android:lineSpacingExtra:设置行间距
    android:lineSpacingMultiplier:设置行间距的倍数

4、公共属性
1) layout_width -宽
    fill_parent: 宽度和父元素相同,wrap_content: 宽度随本身的内容所调整,或者指定 px值来设置宽
2) layout_height - 高
    fill_parent: 高度和父元素相同,wrap_content: 高度随本身的内容所调整,或者指定 px值来设置高
3) background -设置背景图
4) padding -设置边距
    可以具体设置paddingBottom,paddingLeft,paddingRight,paddingTop来设定不同的px值
6) id -该object的id号
    @+id/id1 代表添加新的id名为id1, @id/id1 代表引用id1的控件
7) layout_gravity- Container组件的对齐方式
     组件在layout里面的对齐方式。
8) gravity-文字在组件里的对齐方式
    例如设置button里面的文字在button中居中显示。

二、Android常用控件

1、TextView.文本标签

     <TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:id="@+id/abc" />

2、EditView.编辑文本框
       主要函数:setText/getText设置/获取文本内容,setHint设置缺省显示内容;

    <EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/edit"
android:inputType="text"
android:hint="请在此输入用户名..."/> //hint就是灰色的那些提示字

3、Button.按钮

  <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:text="click me"/>

4、RadioButton.单选按钮  RadioGroup

RadioButton的isChecked()判断是否被选中
获取选中RadioButon的ID:设置RadioGroup.setOnCheckedChangeListener方法
public onCheckedChanged(RadioGroup group,int checkedId)//checkedId是选中RadioButton的ID

 <RadioGroup
android:id="@+id/group1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/a1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="aaa"/> //单标签,后面有/
<RadioButton
android:id="@+id/a2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="bbb"/>
</RadioGroup>
RadioButton:要注意的是因为单选按钮需要分组,也就是你得分好哪几个单选按钮之间只能选一个,然后用RadioGroup标签来圈起来

5、CheckBox多选框
isChecked()判断是否被选中
setOnCheckedChangeListener方法监视选中状态改变情况

  <CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/checkbox1"
android:text="aaa"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/checkbox2"
android:text="bbb"/>

6、ImageView/ImageButton.图片

setImageResource 设置显示图片
setAlpha 设置Alpha
invalidate 强制更新
setScaleType( ScaleType st) 设置图片显示方式,st是一枚举
setAdjustViewBounds 设置是否调整控件适应图片大小
setBackgroundResource 设置背景

  <ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/image"
android:src="@drawable/ic_launcher"/>
要注意的是其一般是通过src属性引用res-drawable对应分辨率的文件夹、assets或网络等地方的图片

7、Spinner
    a,显示数据
1),硬编码加载
通过setAdapter方法设置类型为ArrayAdapter (Context context, int textViewResId, String []objects)
   textViewResourceId:显示内容的ViewID默认设置为R.layout.simple_spinner_item
   objects:显示的内容
2),从资源文件中加载
ArrayAdapter.createFromResource (Context context, int textArrayResId, int textViewResId) //textArrayResId是资源ID
返回ArrayAdapter<CharSequence>
    b,设置下拉列表的风格(可选)
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    c,监听选项选择变更事件
setOnItemSelectedListener设置监听去
Spinner.OnItemSelectedListener类须实现以下两个方法
public void onItemSelected (AdapterView<?> parent, View view, int position, long id)//view 选中项实例,position选择项在adapter中的位置
public void onNothingSelected(AdapterView<?> arg0)
    d,设置选中项
Spinner.setSelection(position)//索引从0开始
    d,获取选中项
getSelectedItemPosition ()
getSelectedItem () //该值toString()则为选中内容的字符串
getSelectedItemId ()
getSelectedView ()

8、AutoCompleteTextView
1,setAdapter设置数据adapter
2,设置输入多少个字符显示提示AutoCompleteTextView.setThreshold(int threshold)

9、MultiAutoCompleteTextView (允许输入多值,多值之间会自动地用指定的分隔符分开)
1,setAdapter设置数据adapter
2,setTokenizer设置提示Tokenizer缺省的为new MultiAutoCompleteTextView.CommaTokenizer()以逗号分隔

10、DatePicker/TimePicker
a,DatePicker
1),设置初始显示日期init(int Year, int month, int day, new DatePicker.OnDateChangedListener(){
    public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth){}
   })
2),获取设置值 getYeah()/getMonth()/getDayOfMonth()
b,TimePicker
1),设置setCurrentHour (Integer currentHour) /setCurrentMinuter (Integer currentHour)
2),setIs24HourView(Boolean)设置是否为24小时制显示
3),监听设置改变setOnTimeChangedListener
c,获取系统当期时间和日期
Calendar.getInstance()返回Calendar
Calendar.get (int field) ---field 可以为Calendar.YEAR/ Calendar.MONTH/ Calendar.DAY_OF_MONTH/ Calendar.HOUR_OF_DAY/ Calendar.MINUTE

11、Gallery(显示一系列的图片,提供拖动等特效)
     显示数据
   setAdapter(SpinnerAdapter adapter)设置数据适配器.
数据适配器可以继承自BaseAdapter,该类 public View getView(int position, View convertView, ViewGroup parent) 返回当前选择的视图(ImageView)
     选项选中监听setOnItemSelectedListener

12、GridView(表格显示一系列图片)
     显示数据
    setAdapter(ListAdapter adapter)设置数据适配器.
数据适配器可以继承自BaseAdapter,该类 public View getView(int position, View convertView, ViewGroup parent) 返回当前选择的视图(ImageView)
     选项选中监听setOnItemSelectedListener
     getSelectedView()返回当前选中的视图

13、ProgressBar
setIndeterminate 设置进度条是否自动运转
setProgressStyle 设置显示风格.ProgressDialog.STYLE_HORIZONTAL/ProgressDialog.STYLE_SPINNER
setProgress 设置进度
setMax 设置最大值
getProgress()获取当前进度

14、SeekBar
方法
setMax 设置最大值
getProgress()获取当前值
setProgress 设置值
setIndeterminate 监听器
setOnSeekBarChangeListener其下有三个方法
   public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) //数值变更,arg1新值,是否Touch
   public void onStartTrackingTouch(SeekBar seekBar)//开始拖动
   public void onStopTrackingTouch(SeekBar seekBar) //结束拖动

15、ListView
      a,显示数据setAdapter(ListAdapter adapter)
      b,动态增删数据
        adapter.notifyDataSetChanged()
      d,设置背景色
        setBackGroudRource

Android布局属性与常用控件的更多相关文章

  1. WPF 10天修炼 第六天- 系统属性和常用控件

    WPF系统属性和常用控件 渐变的背景色 WPF中的前景色和背景色不同于传统Winform的设置,这些属性都是Brush类型的值.在XAML中,当为这些属性设置指定的颜色后将被转换为SolidColor ...

  2. Android SDK提供的常用控件Widget “常用控件”“Android原生”

    Android提供一个标准的视图工具箱来帮助创建简单的UI界面.通过使用这些控件(必要时,可以对这些控件进行修改). 创建一个简单的.xml文件,从预览窗口可以看到Android SDK提供的原生控件 ...

  3. Android 布局中 如何使控件居中

    首先要分两种不同情况,在两种不同的布局方式下:LinearLayout 和RelativeLayout 1. LinearLayout a). android:layout_gravity=" ...

  4. Android 布局之LinearLayout 子控件weight权重的作用详析(转)

    关于Android开发中的LinearLayout子控件权重android:layout_weigh参数的作用,网上关于其用法有两种截然相反说法: 说法一:值越大,重要性越高,所占用的空间越大: 说法 ...

  5. Android 布局之LinearLayout 子控件weight权重的作用详析

    关于Android开发中的LinearLayout子控件权重android:layout_weigh参数的作用,网上关于其用法有两种截然相反说法: 说法一:值越大,重要性越高,所占用的空间越大: 说法 ...

  6. Android学习笔记_30_常用控件使用

    一.状态栏通知(Notification): 如果需要查看消息,可以拖动状态栏到屏幕下方即可查看消息.发送消息的代码如下: public void sendNotice(View v){ int ic ...

  7. Android开发UI之常用控件的使用

    1.日期选择控件 DatePickerDialog 代码: btnChooseDate=(Button) findViewById(R.id.btnChooseDate); btnChooseDate ...

  8. 五、Android学习第四天补充——Android的常用控件(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 五.Android学习第四天补充——Android的常用控件 熟悉常用的A ...

  9. Day3 UI:7种常用控件、4种基本布局

    Android常用控件 TextView <TextView android:id="@+id/text_view" android:layout_width="m ...

随机推荐

  1. java 类加载器的委托机制

    l 当Java虚拟机要加载一个类时,到底派出哪个类加载器去加载呢? 1.首先当前线程的类加载器去加载线程中的第一个类. 2.如果类A中引用了类B,Java虚拟机将使用加载类A的类装载器来加载类B. 3 ...

  2. P1051 八皇后问题

    题目描述 在国际象棋中,皇后是同时具备象和车的攻击范围的,它可以横竖移动,也可以斜着移动.那么在一个8*8的标准国际象棋棋盘中,我们要放入8个皇后,同时皇后之间无法互相攻击,问有多少种皇后的放置方法. ...

  3. WPF 解决弹出模态窗口关闭后,主窗口不在最前

    本文告诉大家如何解决这个问题,在 WPF 的软件,弹出一个模态窗口.使用另一个窗口在模态窗口前面.从任务栏打开模态窗口.关闭模态窗口.这时发现,主窗口会在刚才使用的另一个窗口下面 这是 Windows ...

  4. linux 让出处理器

    如我们已见到的, 忙等待强加了一个重负载给系统总体; 我们乐意找出一个更好的技术. 想到的第一个改变是明确地释放 CPU 当我们对其不感兴趣时. 这是通过调用调度函数而 实现地, 在 <linu ...

  5. 洛谷——P1305 新二叉树(新建二叉树以及遍历)

    题目描述输入一串二叉树,用遍历前序打出. 输入输出格式输入格式: 第一行为二叉树的节点数n.(n \leq 26n≤26) 后面n行,每一个字母为节点,后两个字母分别为其左右儿子. 空节点用*表示 输 ...

  6. CMD操纵Mysql命令大全

    连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样)断开:exit (回车) 创建授权:grant select on 数据库.* to 用户名@登 ...

  7. Channel 9视频整理【2】

    JadeChang https://channel9.msdn.com/Niners/JadeChang 繁体中文视频 2016 Nano Server / Docker / Containers 打 ...

  8. 019.MFC_两种对话框

    对话框分为模态和非模态对话框两种 模态对话框(Modal) d.DoModal() 必须关闭才能返回主窗口 非模态对话框(Modaless) p->Create(IDD_DIALOG,this) ...

  9. Jenkins的简单安装

    系统:CentOS release 6.5 (Final) 一. 安装JDK 1.1 查询系统是否已安装OpenJDK Centos系统默认会安装OpenJDK,首先检查系统是否安装有jdk并且是Op ...

  10. 一条SQL注入引出的惊天大案

    前情回顾: WAF公司拦截到一个神秘的HTTP数据包,在这个包的表单字段中发现了SQL语句.目标指向80端口,而这正是nginx公司的地盘.详情参见:一个HTTP数据包的奇幻之旅 虚拟机的世界 一个安 ...