View的属性:
-
控件的宽高:(固定值 与两种状态)
android:layout_width=“30dp”
android:layout_height=“30dp” -
控件的可见度:(3种状态:visible显示 gone不显示不占位置 invisible不显示占着位置)
android:visibility=“visible” -
控件的背景:(颜色 图片:红绿蓝)
android:background="#F00" -
盒子模型:
android:layout_margin=“10dp”
android:padding=“5dp”
-
点击事件:
android:onClick=“haha”
颜色值:颜色值基本有四种表现方式 (0表示在某个通道的颜色成分为空 F表示某个颜色通道为100%)
RGB(红绿蓝): #000~#FFF
ARGB(透明度+红绿蓝): #0000~#FFFF
RRGGBB: #000000~#FFFFFF
AARRGGBB: #00000000~#FFFFFFFF
View与ViewGroup的关系:
- View表示控件 View与View之间是无法嵌套
- 为了让控件能够嵌套其他控件 才产生了ViewGroup
- ViewGroup的继承关系 ViewGroup一般比较少使用 我们一般使用其子类实现。
View
–ViewGroup
----AbsoluteLayout
----FrameLayout
----LinearLayout
----TableLayout
----RelativeLayout
1、LinearLayout: 线性布局指的是该布局下包含的子布局列表为横线或者竖线排布。
重要属性:
指定方向:(横向布局/纵向布局) android:orientation=""
权重:android:layout_weight="" (只能在LinearLayout的子控件中使用)
2、RelativeLayout: 相对布局 (相对父控件布局 相对兄弟控件布局)
针对父控件
android:layout_centerHorizontal 横向居中
android:layout_centerVertical 纵向居中
android:layout_centerInParent 横向纵向居中
跟父控件顶部/底部/最左边/最右边对齐
android:layout_alignParentTop
android:layout_alignParentBottom
android:layout_alignParentLeft
android:layout_alignParentRight
针对已存在的兄弟控件(在某个控件的上面/下面/左边/右边)
android:layout_above
android:layout_below
android:layout_toLeftOf
android:layout_toRightOf
相对兄弟控件的边对齐
android:layout_alignTop
android:layout_alignBottom
android:layout_alignLeft
android:layout_alignRight
3、FrameLayout: 帧布局 越是后面写的控件越在顶层 (应用场景: 霓虹灯 自定义一些高级的UI控件) 层层叠加
4、AbsoluteLayout :绝对布局 控件在父控件中的绝对定位,就是把位置固定死 (应用场景: 机顶盒开发 )
android:layout_x=“30dp”
android:layout_y=“30dp”
5、TableLayout: 表格布局 (应用场景: 银行表格)
<TableLayout />
表格标签
<TableRow />
表格行标签 该标签可以不使用
- TextView:
android:text=“文本”
android:textSize=“20sp”
android:textColor="#FF0"
android:textStyle=“bold”
android:lines=“3”//显示三行
android:ellipsize=“end”//当内容三行显示不完的时候,它就会在第三行后面显示 . . . 尾部省略号
android:singleLine=“true” //把字变成单行,没有显示完的 . . .尾部省略号
android:typeface=“monospace” //设置字型。字形有:normal, sans, serif,monospace
android:clickable=”” //TextView的点击事件
-
Button: 属性与TextView基本相似。 不同点:
1. 按钮是自带了背景的控件
2.按钮是可以点击了 -
EditText:
android:hint=“请输入QQ”
android:editable=“true”//可以输入 false不能输入
android:maxLength=“50” 设置最大的字数
android:inputType=“textPassword”//密码文本 textEmailAddress,邮件文本,它会多出@ .com -
ToggleButton: //老版开关,现在很少用了
android:textOn=“开启”
android:textOff=“关闭”
android:checked=“true” -
RadioButton:
单选组 它可以把 点击事件连在一起
单选框
设置监听器的时候,通过 RadioGroup radioGroup.setOnCheckedChangeListener();
android:checked=“true” -
CheckBox: 多选框
设置监听器的时候 每个CheckBox都应该设置
android:checked=“false”
1.没有进度的进度条
大进度条
style="?android:attr/progressBarStyleLarge"
小进度条
style="?android:attr/progressBarStyleSmall"
2.有进度的进度条
style="?android:attr/progressBarStyleHorizontal"
android:progress=“80”
android:max=“100”
3.可拖动的进度条
SeekBar:可拖动的进度条
android:max=“100”
android:progress=“50”
4.星星进度条
RatingBar:星星进度条 基本单位为半颗星
android:numStars=“4”
android:rating=“3.5”
android:stepSize=“0.3”
设置图片源
android:src="@drawable/ic_launcher"
代码设置图片源
imageView.setImageResource(resId) //文件获取
imageView.setImageBitmap(bm); //网络获取
imageView.setImageDrawable(drawable); //和上面的一样
设置缩放模式
android:scaleType=""
- 手机界面无法容纳更多的控件的时候,就需要滚动界面。
- ScrollView :控制上下滑动的效果
- HorizontalScrollView: 控制左右滑动的效果
- ScrollView与HorizontalScrollView只能容纳一个子控件。
1.日期选择器:
2.时间选择器: 24小时制
网站控件 WebView
除了以上的代码步骤,还需要告诉用户 我们需要使用上网的权限。
ShapDrawable
用途:圆角的输入框 单色背景的按钮
开发步骤:
- 创建drawable文件夹
- 创建一个shap文件. 文件名:业务名_控件名缩写_bg
- 应用到控件上
SelectorDrawable
开发步骤:
1.创建drawable文件夹
2.创建一个Selector文件.
3. 应用到控件
在这里插入图片描述
LayerlistDrawable
一般只有使用带进度的进度条,需要修改其背景 就需要使用LayerlistDrawable
开发步骤:
1.创建drawable文件夹
2.创建一个Layerlist文件
3. 应用到控件
9patch图说明
- 什么时候需要用到9Patch图? 图片拉伸模糊
- 9Patch工具在哪里? …\android-adt-bundle\sdk\tools\draw9patch.bat
- 如何使用 9Patch? 打开工具–>修改图片–>保存成.9.png格式的图片