1、布局:
一个Activity相当于一个手机屏幕
默认和手机屏幕的宽高相同
LinearLayout、RelativeLayout等布局继承了ViewGroup,ViewGroup是View的子类,可以容纳其他的视图,属于
容器视图
TextView

1)LinearLayout:线性布局
默认方向是水平方向:每个视图单独占据一列,第二个视图的起始位置是第一个视图的结束位置
垂直方向:每个视图单独占据一行,试图和视图紧挨着

属性值: match_parent 匹配上一级 、 wrap_content 包裹内容
相对布局指定布局的方向:orientation:方向...指定布局方向属性
vertical :垂直方向
horizontal:水平方向

padding:设置的视图中的内容和本视图的边儿的间距
layout_margin:设置的本视图相对于周围视图的间距

控件的一些属性:
textSize:指定显示文本的大小
text:文本显示内容

颜色的表示方式:
RGB(红绿蓝):每一位上的数是一个十六进制的数,组合起来表示颜色,范围:000-fff
RRGGBB:每两位表示一种颜色,范围:000000-ffffff
ARGB:A代表alpha 表示透明度 0表示完全透明,f表示完全不透明
AARRGGBB:A同样代表alpha 表示透明度 00表示完全透明,ff表示完全不透明

比重属性的设置:
layout_weight:表示分配比重的属性
weight后面的属性值就表示要分配的属性:
其分配的原则是:在布局当中,首先满足没有设置weight属性的控件要求.
然后将该布局中的剩下的空余空间,按照控件的weight属性值进行相加得到和n,然后分成n等份,
最后,每个控件的weight属性值是m,所以,相应的控件所占的空间就是m/n。

另外,对于分配比重的视图,
如果是水平布局:
1)如果layout_width="wrap_conent",比重越大,分配的宽度就越大
2)如果layout_width="match_parent",比重值越大,分配的宽度就越小
  总结:为了避免这样的情况出现,记不住该设置哪一个,所以直接设置layout_width="0dp";简单又快捷

如果是垂直布局
1)如果layout_height="wrap_content",比重越大,分配的高度就越大
2)如果layout_height="match_parent",比重越大,分配的高度就越小
  总结:同样为了避免这样的情况出现,记不住该设置哪一个,所以直接设置layout_height="0dp";简单快捷

位置布局属性:
layout_gravity:设置是本视图相对于上一级图的显示位置  指的是视图的显示位置
gravity:本视图中的内容相对于本视图的显示位置   指的是内容的显示位置

layout_margin:指定空间与周围其他视图的间距

padding:指定显示内容相对于自己空间边框的间距

2、TextView:
设置链接;android:autoLink=""可以有多个值
android:singleLine=""设置单行显示
android:ellipsize=""设置省略号出现的位置

实现跑马灯滚动效果:
android:fosusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimt="3"滚动的次数

默认情况下:TextView的focusable,focusableInTouchmode两个属性的值都是false

focusable:针对按键的
focusableInTouchMode:针对屏幕触摸的

focusable的值为true是focusableInTouchMode起作用的前提条件

单行显示文本  android:singleLine="true"
       android:ellipsize=""   在开始,中间,结束     位置显示省略号

3、Button:
顺带着Toast的用法

4、EditText:可编辑文本框

hint:提示用户需要输入的内容
inputType:限制用户输入数据的类型,其作用是帮助输入法确定显示对应类型的键盘

5、checkedBox:复选框。
checked属性表示是否被选中
onClick属性表示被选中时执行的方法

在代码中如何判断复选框是否被选中呢?
boolean flag = ((Checked)v).isChecked();
如果flag是true,就表示复选框被选中了

对于为复选框(Checked)添加监听事件监听其状态是否发生变化时,采用的监听方式是:
checkedBox1.setOnCheckedChangeListener(new OnCheckedChangeListener(){});
其实仅仅是方法名有些不同而已,监听原理以及处理方法都是一致的,也是相通的.

只是有些小不同的是:
实现监听接口复写方法时;会有两个参数.
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked)
{
//1第一个参数传递的是被点击的多选框的控件对象
int checkedBoxId = buttonView.getId();

//2第二个参数表示的该被点击的对象是否被选中
if(isChecked)
{
  //被选中了的处理方式
}
else 
{
  //没有被选中的处理方式
}
}

UI控件的更多相关文章

  1. ANDROID L——Material Design详解(UI控件)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...

  2. WinForm/Silverlight多线程编程中如何更新UI控件的值

    单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么 ...

  3. 富客户端 wpf, Winform 多线程更新UI控件

    前言 在富客户端的app中,如果在主线程中运行一些长时间的任务,那么应用程序的UI就不能正常相应.因为主线程要负责消息循环,相应鼠标等事件还有展现UI. 因此我们可以开启一个线程来格外处理需要长时间的 ...

  4. UI控件(复习一下)

    如何修改控件状态• 可见,确实需要经常修改控件状态• 那如何去修改控件的状态呢?方法很简单➢ 每一个UI控件都是一个对象➢ 修改UI控件的状态,其实就是修改控件对象的属性➢ 比如修改UILabel显示 ...

  5. IOS学习资源收集--开发UI控件相关

    收集的一些本人了解过的iOS开发UI控件相关的代码资源(本文持续补充更新) 内容大纲: 1.本人在github上也上传了我分装好的一些可重复利用的UI控件 2.计时相关的自定义UILabel控件 正文 ...

  6. 《深入理解Windows Phone 8.1 UI控件编程》基于最新的Runtime框架

    <深入理解Windows Phone 8.1 UI控件编程>本书基于最新的Windows Phone 8.1 Runtime SDK编写,全面深入地论述了最酷的UI编程技术:实现复杂炫酷的 ...

  7. AppleWatch___学习笔记(二)UI布局和UI控件

    1.UI布局 直接开发,你会发现Apple Watch并不支持AutoLayout,WatchKit里有个类叫做WKInterfaceGroup,乍一看像是UIView,但是这货其实是用来布局的.从 ...

  8. (转).NET 4.5中使用Task.Run和Parallel.For()实现的C# Winform多线程任务及跨线程更新UI控件综合实例

    http://2sharings.com/2014/net-4-5-task-run-parallel-for-winform-cross-multiple-threads-update-ui-dem ...

  9. Atitit. .net c# web 跟客户端winform 的ui控件结构比较

    Atitit. .net c# web 跟客户端winform 的ui控件结构比较 .net   4.5 webform Winform 命名空间 System.Web.UI.WebControls ...

  10. Silverlight项目笔记1:UI控件与布局、MVVM、数据绑定、await/async、Linq查询、WCF RIA Services、序列化、委托与事件

    最近从技术支持转到开发岗,做Silverlight部分的开发,用的Prism+MVVM,框架由同事搭好,目前做的主要是功能实现,用到了一些东西,侧重于如何使用,总结如下 1.UI控件与布局 常用的主要 ...

随机推荐

  1. WEBSTORM 2016.3 activation code激活

    选择activation code 激活方式,复制粘贴下面的激活码43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoi ...

  2. It matters, In the coming year ,i will stand here.

    人在安逸中会迷失自己,直至看不到远处的光亮.在一个人迷茫的时候便需要寻找认同感,于是我来到了这里.比我更加优秀的人都在默默的努力,我怎么能允许自己在原地踏步.在这一刻我似乎又看了黑夜中的一束光. 初识 ...

  3. Java常见面试题(含答案)

    第一,谈谈final, finally, finalize的区别. final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 ...

  4. ASP通过ADODB读取Access数据库

    <% On Error Resume Next set conn=server.createobject("adodb.connection") mypath=server. ...

  5. android 开发中 添加库文件 和so 文件的存放位置和添加依赖

    so文件一般存储在  main 当中  jniLibs 当中 然后在build.gradle中添加 sourceSets { main { jniLibs.srcDirs = ['src/main/j ...

  6. psp个人软件开发

    为开发人员提供一个PSP工具,简化时间记录工作:同时提供数据使用的工具,帮助开发人提高估算能力.  需求分析: 编号 特性 FEAT01 研发经理能够创建项目.指定或修改项目经理.删除尚未分配工作任务 ...

  7. 初学者的python学习笔记1

    推荐一段时间闲的蛋疼,总觉得再堕落下去不太好,便捡起了之前一直想学而没有学的python,以此记录一下学习笔记,同时亦是督促和复习. 学习51cto上的<2016最新Python开发基础课程-2 ...

  8. J2EE、J2SE、J2ME是什么意思?

    本文介绍Java的三大块:J2EE.J2SE和J2ME.J2SE就是Java2的标准版,主要用于桌面应用软件的编程:J2ME主要应用于嵌入是系统开发,如手机和PDA的编程:J2EE是Java2的企业版 ...

  9. Three.js入门

    一.前段时候花了些功夫研究了下WebGL,了解了基本实体的实现原理和实现方法,现在回忆就只记得如果要我画个圆形,怀疑都要了我的命(那得画多少个三角形...).功夫不负有心人,今天学习Three.js得 ...

  10. mstsc连接服务器时如何避免每次在登陆窗口输入密码(rdp passwd decrypted )

    http://blog.chinaunix.net/uid-1835840-id-2831518.html 我们经常需要连接很多服务器,或者服务器的ip经常变动.把连接的密码保存在rdp配置文件里,用 ...