1.layout_width 属性和 layout_height 属性:Android中所有的控件都包含这两个属性,有三种可选值 match_parent, fill_parent, wrap_content;

  1)match_parent:当前控件的大小和父元素一样,即由父元素类决定当前控件的大小;
  2)fill_parent:同 match_parent 意义相同,官方推荐使用 match_parent;
  3)wrap_content:使当前空前控件的大小刚好能保住其中的内容,即由控件内容决定控件大小;
2.android中常用控件,这里就简单列出,具体用到时再看文档吧:
  1)TextView:文本显示
  2)Button:按钮
  3)EditText:输入框
  4)ImageView:图片
  5)ProgressBar:进度条
  6)AlertDialog:提示框,基本用法:AlertDialog.Builder dialog = new AlertDialog.Builder(MyActivity.this);//新建提示框
                   dialog.setTitle("Title");//设置标题
                   dialog.setMessage("Message");//设置提示信息
                   dialog.setCancelable(false);//设置是否可取消
                   dialog.setPositiveButton("OK", ocl);//设置确认按钮事件
                   dialog.setNegativeButton("OK", ocl);//设置取消按钮事件
                   dialog.show();//弹出窗口
  7)ProgressDialog:进度框,用法与AlertDialog相似;
3.布局Layout:
  1)LinearLayout: 线性布局
    --可通过 android:orientation 设置 LinearLayout是 水平布局(horizontal)还是垂直布局(vertical);
    --设置成水平布局后,若内部有多个元素,则不要将内部元素的 android:layout_width 设置成 match_parent,否则该元素将覆盖其他元素;
    --android:layout_gravity: 指定控件在布局内部的对齐方式;
    --android:layout_weight: 使比例的方式指定控件大小,系统会计算布局所有layout_weight的总和,然后计算每个控件layout_weight所占的比例,最后确定大小;
  2)RelativeLayout: 相对布局
    --可以直接指定控件的位置,如 android:layout_centerInParent="true" ,设置控件处于布局中央;
    --常用的属性还有 android:layout_alignParentTop, android:layout_alignParentLeft, android:layout_alignParentRight等;
    --也可以通过控件间的相对位置来布局,如 android:layout_above="@id/btn", 设置控件位于id为btn控件的上方;
    --常用控件还有 android:layout_toLeftOf, android:layout_toRightOf, android:layout_alignRight, android:layoutTop;
  3)FrameLayout:
    --所有控件都摆放在布局的左上角
  4)TableLayout: 表格布局
    --使用的表格的方式来排列控件(使用 android:layout_span 属性来合并);
    --当存在不一样的列数时,需要进行合并单元格操作;
    --TableRow 中的控件不能指定宽度(layout_width);
    --可以使用 TableLayout 标签的 android:stretchColumns 属性指定对某一列进行拉伸,下标从 0 开始;
  5)AbsoluteLayout:不推荐使用;
4.自定义控件:利用控件的继承结构来自定义控件;
5.ListView 控件:
  1)简单应用
  ①在布局文件中编写<ListView>标签;
  ②准备(获取)数据:String[] data = {"AA", "BB", "CC", "DD", "EE", "FF", "GG", "HH", "II", "JJ" ,"KK", "LL", "MM", "NN"};
  ③编写适配器,以 ArrayAdapter 适配器为例:ArrayAdapter<String> adapter = new ArrayAdapter<String>(MyActivity.this, android.R.layout.simple_expandable_list_item_1, data);其中构造器中的第一个参数为当前上下文,第二个参数为 ListView 子项布局的 id,第三个参数为要适配的数据;
  ④在 Activity 中获取到 ListView:ListView listView = (ListView)findViewById(R.id.listView);
  ⑤设置 listView 的适配器为 adapter:listView.setAdapter(adapter);
  2)自定义ListView Item界面:
    --大致步骤与上述类似,需要自定义适配器,并继承 ArrayAdapter,重写其构造器和 getView() 方法,同时需要创建一个自定义布局文件;
    --利用 getView() 方法中的 convertView 参数可以有效地提升 ListView 的运行效率,convertView 用于将之前加载好的布局进行缓存,以后无需重复加载;
  3)为 ListView 设置事件监听:listView.setOnItemClickListener(oicl) ,重写onItemClick()方法;
5.单位和尺寸:
  1)Android中主要采用 dp 和 sp 作为单位;
  2)dp 也称 dip,是密度无关像素的意思,它在不同密度的屏幕中的显示比例将保持一致;
  3)sp,可伸缩像素,解决了文字大小的适配问题;
  4)屏幕密度:屏幕每英寸所包含的像素数,可以通过getResources().getDisplayMetrics().xdpi 和 getResources().getDisplayMetrics().ydpi 方法获取;

Android--UI的更多相关文章

  1. iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸

    iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸 iPhone界面尺寸 设备 分辨 ...

  2. Android ui 测试课堂笔记

    开始接触Android ui测试了,笔记如下 模拟器 Genemotion , the fastest android simulator in the world Android ui 测试工具 S ...

  3. Android UI 绘制过程浅析(五)自定义View

    前言 这已经是Android UI 绘制过程浅析系列文章的第五篇了,不出意外的话也是最后一篇.再次声明一下,这一系列文章,是我在拜读了csdn大牛郭霖的博客文章<带你一步步深入了解View> ...

  4. 12套有用的免费 PSD 格式 Android UI 素材

    在这里,我们向大家呈现一些有用的和免费的 Android 用户界面 PSD 素材.由于 Android 市场迅速增长,设计人员和开发人员正在寻找一些快速和容易的方法来创建 Android 友好的应用和 ...

  5. Android UI线程和非UI线程

    Android UI线程和非UI线程 UI线程及Android的单线程模型原则 当应用启动,系统会创建一个主线程(main thread). 这个主线程负责向UI组件分发事件(包括绘制事件),也是在这 ...

  6. 免费的Android UI库及组件推荐

    短短数年时间Android平台就已经形成了一个庞大而活跃的开发者社区.许多社区开发的项目业已进入成熟阶段,甚至可以用于商业的软件生产中,且不用担心质量问题. 本文编译自androiduipattern ...

  7. 【Android UI设计与开发】第05期:引导界面(五)实现应用程序只启动一次引导界面

    [Android UI设计与开发]第05期:引导界面(五)实现应用程序只启动一次引导界面 jingqing 发表于 2013-7-11 14:42:02 浏览(229501) 这篇文章算是对整个引导界 ...

  8. Android UI系列-----时间、日期、Toasts和进度条Dialog

    您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...

  9. Android UI开发第四十一篇——墨迹天气3.0引导界面及动画实现

    周末升级了墨迹天气,看着引导界面做的不错,模仿一下,可能与原作者的代码实现不一样,但是实现的效果还是差不多的.先分享一篇以前的文章,android动画的基础知识,<Android UI开发第十二 ...

  10. [ZZ]Android UI Automated Testing

    Google Testing Blog最近发表了一篇Android UI Automated Testing,我把他转载过来,墙外地址:http://googletesting.blogspot.co ...

随机推荐

  1. 2,SFDC 管理员篇 - 组织架构

    1,组织架构 Setup | Administrator | Manage User| Role 组织层级有三种模式,基于区域划分,基于产品划分,基于公司规模划分层级(目标客户群体划分层级或渠道划分) ...

  2. 浅谈js的键值对key和value

    > 昨晚无意中看到类似下面结构的一段代码的取值问题,引起我的兴趣,花了点时间写了个demo给大家分享一下... var obj = [ {"2011":{"name ...

  3. Python之路【第十七篇】:Django【进阶篇 】

    Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...

  4. centos7.2上实践cgoup

    基本介绍 CGroups 是一种对进程资源管理和控制的统一框架,它提供的是一种机制,而具体的策略(Policy)是通过子系统(subsystem)来完成的.子系统是CGroups对进程组进行资源控制的 ...

  5. 在数学建模中学MATLAB

    为期三周的数学建模国赛培训昨天正式结束了,还是有一定的收获的,尤其是在MATLAB的使用上. 1. 一些MATLAB的基础性东西: 元胞数组的使用:http://blog.csdn.net/z1137 ...

  6. 通过WinForm控件创建的WPF控件无法输入的问题

    今天把写的一个WPF程序发布到别的机器上执行,发现一个比较奇怪的问题:在那个机器上用英文输入法无法输入数字,非要切换到中文输入法才行:但在我的机器上却是好好的. 最开始以为是输入法的问题,弄了好一阵子 ...

  7. MC的一些具体的应用的例子的总结

    任何东西,都有其适用的场景,在合适的场景下,才能发挥好更大的作用. 对于memcached,使用内存来存取数据,一般情况下,速度比直接从数据库和文件系统读取要快的多. memcached的最常用的场景 ...

  8. IRunningObjectTable接口

    IRunningObjectTable接口

  9. 2016 ICPC北京站现场赛总结(再度流水账)

    其他的都先不说,北大的未名湖真的美! 虽然感觉北大其他地方都有些破旧之感,但是未名湖附近真的值得称赞. 在去北京之前就听说北京温度很低,不过是干冷,果不其然.北京不冷,就是嘴唇太干了,不喝水真的受不了 ...

  10. 2014 ACM/ICPC 北京邀请赛 部分 题解

    题目链接:http://acm.bnu.edu.cn/bnuoj/problem.php?search=2014+ACM-ICPC+Beijing+Invitational+Programming+C ...