布局控件基础

View的属性:

1. 控件的宽高:(固定值 与两种状态)

android:layout_width="30dp"

android:layout_height="30dp"

2. 控件的可见度:(3种状态)

android:visibility="visible"

3. 控件的背景:(颜色 图片)

android:background="#F00"

4. 盒子模型:

android:layout_margin="10dp"

android:padding="5dp"


5. 点击事件:

android:onClick="haha"

------------------------------------------------------------------------------------------------

颜色值:颜色值基本有四种表现方式 (0表示在某个通道的颜色成分为空  F表示某个颜色通道为100%)

RGB(红绿蓝): #000~#FFF

ARGB(透明度+红绿蓝): #0000~#FFFF

RRGGBB: #000000~#FFFFFF

AARRGGBB: #00000000~#FFFFFFFF

---------------------------------------------------------------------------------------------------

View与ViewGroup的关系:

1. View表示控件  View与View之间是无法嵌套

2. 为了让控件能够嵌套其他控件

才产生了ViewGroup

3. ViewGroup的继承关系 ViewGroup一般比较少使用 我们一般使用其子类实现。

View

--ViewGroup

----AbsoluteLayout

----FrameLayout

----LinearLayout

----TableLayout

----RelativeLayout

---------------------------------------------------------------------------------------

LinearLayout: 线性布局指的是该布局下包含的子布局列表为横线或者竖线排布。

重要属性:

指定方向:(横向布局/纵向布局)  android:orientation=""

权重:android:layout_weight=""  (只能在LinearLayout的子控件中使用)

--------------------------------------------------------------------------------------------

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


--------------------------------------------------------------------------------------------
FrameLayout: 帧布局 越是后面写的控件越在顶层 (应用场景: 霓虹灯

自定义一些高级的UI控件) 层层叠加


------------------------------------------------------------------------------------------

AbsoluteLayout :绝对布局控件在父控件中的绝对定位   (应用场景: 机顶盒开发)

android:layout_x="30dp"

android:layout_y="30dp"


------------------------------------------------------------------------------------------

TableLayout: 表格布局 (应用场景:银行表格)

   表格标签

   表格行标签 该标签可以不使用


------------------------------------------------------------------------------------------------
文本 按钮 输入框的继承关系

TextView:

android:text="文本"

android:textSize="20sp"

android:textColor="#FF0"

android:textStyle="bold"

android:lines="3"

android:singleLine="true"

android:typeface="monospace"

//设置字型。字形有:normal, sans, serif,monospace

android:clickable=””

Button:

属性与TextView基本相似。

不同点:

1. 按钮是自带了背景的控件

2. 按钮是可以点击了

EditText:

android:hint="请输入QQ"

android:editable="true"

android:maxLength="50"  设置最大的字数

android:inputType="textPassword"

----------------------------------------------------------------------------------------------

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=""

1. 手机界面无法容纳更多的控件的时候,就需要滚动界面。

2. ScrollView :控制上下滑动的效果

3. HorizontalScrollView: 控制左右滑动的效果

4. ScrollView与HorizontalScrollView只能容纳一个子控件。

------------------------------------------------------------------------------------------------
1. 日期选择器:


2. 时间选择器: 24小时制


---------------------------------------------------------------------------------------------

webview网页控件

-----------------------------------------------------------------------------------------------
用途:圆角的输入框  单色背景的按钮

开发步骤:

1. 创建drawable文件夹

2. 创建一个shap文件. 文件名:业务名_控件名缩写_bg

3、应用到控件上

--------------------------------------------------------------------------------------------------
Selector: 如果想改变某个控件在某种状态下的背景 就需要使用SelectorDrawable.

开发步骤:

1.创建drawable文件夹

2.创建一个Selector文件.

3、应用到控件

-------------------------------------------------------------------------------------------------
一般只有使用带进度的进度条,需要修改其背景就需要使用LayerlistDrawable

开发步骤:

1.创建drawable文件夹

2.创建一个Layerlist文件

3. 应用到控件


-------------------------------------------------------------------------------------------------
1. 什么时候需要用到9Patch图?    图片拉伸模糊

2. 9Patch工具在哪里?    ..\android-adt-bundle\sdk\tools\draw9patch.bat

3. 如何使用9Patch?  打开工具-->修改图片-->保存成.9.png格式的图片

你可能感兴趣的:(布局控件基础)