1.声明控件对象时,要确保类型与xml中控件的类型保持一致
2.findViewById(R.id.名)返回的是View类型的对象,需要强转类型为对应的控件类型
3.参数R.id.名要确保导入的是正确的R文件,否则会报错
二、控件的宽和高
控件宽度
layout_height 控件高度
可以设置的值有
1.fill_parent(不常用)或match_parent(常用)匹配父控件
2.wrap_content 根据自身内容的自动调整大小
3.固定数值(距离、尺寸的使用dp/dip,字体大小使用sp)
三、Android支持的所有单位
px:像素,屏幕上的点
in:英寸,长度单位
mm:毫米,长度单位
pt:磅,1/72英寸
dp:与密度无关的像素,一种基于屏幕密度的抽象单位,在每英寸160点的显示器上。1dp=1px
dip:与dp相同
sp:与刻度无关的像素,与dp类似,主要用于字体显示
TextView最好用sp作单位。
四、常用属性:比重layout_weight
注意:1.确保父控件的宽和高都是固定值(包括fill_parent)
2.自身的宽和高设置为0dp,如果设置为fill_parent则比例相反
五、常用属性:背景设置
直接填写颜色
android:background=“@color/my_color” 引用颜色文件
android:background=“@android:color/black” 直接引用系统自带颜色
android:background=“@drawable/ic_la” 设置背景图片
也可在Java文件中通过setBackground方法设置
//设置图片按钮背景图
ibtn.setBackgroundDrawable(getResources().getDrawable(R.drawable.press));
最常用setBackgroundResource
六、常用属性:内外边距
内边距:控件的边界与子控件的间隔padding
paddingLeft/Right/Top/Bottom
外边距:控件的边界与外界的间隔layout_magin
layout_maginLeft /Right/Top/Bottom
七、常用属性:重心
Left /Right/Top/Bottom
center_vertical
center_horizontal水平居中
center中央居中
允许同时设置多个值,使用“|”隔开
八、常用属性:隐藏和可见 visibility
visible 可见的
invisibility 不可见(仍占据空间)
gone 不可见(不占据空间)
九、布局
FrameLayout框架布局
系统默认的在屏幕上就有空白区显示它
可以在空白区域填充一个单一对象,所有额子元素会固定在屏幕的左上角,不能指定位置,会被后添加控件覆盖部分或全部,除非后添加的控件是透明的。
LinearLayout线性布局
让所有的子视图都可以成为单一的方向,即垂直的或水平的
特殊属性orientation,用于指定排列方向
特殊子属性layout_gravity自身的对齐方式,只有父控件是LinearLayout时子控件才会有此属性,并且设置方向与LinearLayout的分布方向相同时,此属性不生效
AbsoluteLayout绝对布局
让子视图使用xy坐标确定在屏幕上的位置
RelativeLayout相对布局
让子视图的位置和其他视图相关
所有子控件都不会自动设置分布位置,只会默认放在左上角,需要通过设置属性调整子控件的位置
后加载的控件会覆盖在先加载的控件上
同时设置子控件的layout_alignParentBottom(上下)或左右时会将控件拉伸至父控件的左右两侧上下两端
layout_alignParentBottom=“@+id/reference”表示自身下边对其id为 reference的控件的下边
layout_above/below/toLeftOf/toRightOf:在参照控件的上方/下方/左边/右边
TableLayout表格布局
位置是子视图的行或者列
回顾: android的四大组件: 1.activity界面 2.service服务 3.broadcast receiver广播接收者 4.content provider内容提供者
都应该注册到项目的清单文件中,广播接收者可以不用(特例)
加载布局的视图 setContentView(R.layout...xml)
获得布局中的控件: View findViewById(R.id...)
监听控件的单击事件 setOnClickListener(OnClickListener)
重写 onClick(View )
吐司: 友好的显示一个提示信息 Toast.makeText(上下文对象,显示文本,显示的时长).show()
本课内容: 提取字符串 ctrl+1
ADB android debug birdge
错误: ADB server didn't ACK
1.重启一下模拟器 2.电脑中是否安装了相关的手机助手,关闭 3.杀进程(adb的进程)
1.jdk 环境变量 2.eclipse 3.adt 4.android sdk
删除整行 ctrl+d
复制整行 ctrl+alt+向上或向下箭头
移动整行 alt+向上或向下箭头
命名空间