线性布局
线性布局:LinearLayout
控件特性:
LinearLayout是一种ViewGroup,在其内部的所有控件会呈线性排列,可以是水平的,也可以是垂直的。
继承结构:
View
-- ViewGroup
-- -- LinearLayout
核心属性:
- android:orientation -> 设置线性布局的排列方向,当取值为horizontal时表示水平方向排列,当取值为vertical时表示垂直方向排列
子级控件的属性: - android:layout_gravity -> 子级控件的对齐方式,取值可以是:left、right、center、top、bottom,具体哪些值有效,或者呈现什么样对齐方式,还得取决于父级布局的布局方向
- android:layout_weight -> 子级控件将占据剩余的宽度/高度的比重,取值为数值,小结为:以水平方向的线性为例,各控件的宽度均设为0dp,则比重表示控件的实际宽度的正比。<
相对布局
相对布局:RelativeLayout
控件特性:
在RelativeLayout下的每个子级控件都会以父级控件或同级别的其它控件作为参考,从而决定自身的尺寸和位置。
在RelativeLayout下的每个子级控件默认显示在左上角,根据代码顺序,后续出现的控件会覆盖此前出现的控件。
继承结构:
View
-- ViewGroup
-- -- RelativeLayout
核心属性:
(无)
子级控件属性:
- android:layout_alignParentTop -> 与父级控件的顶部对齐,取值为true或false,通常,如果确定需要与父级控件的顶部对齐,则设计该属性并取值为true,如果不需要,则根本就不要设计这个属性
- android:layout_alignParentBottom -> 与父级控件的底部对齐,取值同上
- android:layout_alignParentLeft -> 与父级控件的左侧对齐,取值同上
- android:layout_alignParentRight -> 与父级控件的需右侧对齐,取值同上
- android:layout_centerHorizontal -> 以父级控件的宽度作为参考,将自身在水平方向上居中,取值同上
- android:layout_centerVertical -> 以父级控件的高度作为参考,将自身在垂直方向上居中,取值同上
- android:layout_centerInParent -> 将自身在父级控件中完全居中,取值同上
- android:layout_below -> 将自身置于同级别的某控件的下方,取值为被参考的控件的id
- android:layout_above -> 将自身置于同级别的某控件的上方,取值同上
- android:layout_toRightOf -> 将自身置于同级别的某控件的右侧,取值同上
- android:layout_toLeftOf -> 将自身置于同级别的某控件的左侧,取值同上
- android:layout_alignTop -> 将自身与同级别的某控件的顶部对齐,取值同上
- android:layout_alignBottom -> 将自身与同级别的某控件的底部对齐,取值同上
- android:layout_alignLeft -> 将自身与同级别的某控件的左侧对齐,取值同上
- android:layout_alignRight -> 将自身与同级别的某控件的右侧对齐,取值同上<
文本显示控件
文本显示控件:TextView
控件特性:
用于显示文本(字符串),所有能够显示文本的控件都是TextView的子孙类。
继承结构:
View
-- TextView
核心属性:
- android:text -> 需要显示的文字
- android:textColor -> 文字颜色,取值为RGB颜色或ARGB颜色
- android:textSize -> 文字尺寸,取值为以sp为单位的数据
- android:textStyle -> 文字样式,取值为normal表示正常,取值为bold表示加粗,取值为italic表示倾斜,如果需要同时加粗和倾斜,则2个属性值并存,并且使用竖杠(|)进行分隔
- android:gravity -> 文字在控件内部的对齐方式,仅当控件的尺寸大于文字所需尺寸时有效,取值可参考android:layout_gravity属性,并且,这些属性值也可以两两组合
- android:singleLine -> 是否单行显示,用于文字超出1行时确定显示方式,取值为布尔值
- android:lines -> 最多显示多少行,取值为数值<
文本输入控件
文本输入控件:EditText
控件特性:
使得用户在界面上输入内容!
继承结构:
View
-- TextView
-- -- EditText<
按钮控件
按钮控件:Button
控件特性:
用于被点击!
继承结构:
View
-- TextView
-- -- Button<
![Upload QQ截图20170301205058.png failed. Please try again.]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/player_bg_beyond"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
tools:ignore="HardcodedText,ContentDescription" >
<RelativeLayout
android:id="@+id/rl_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageButton
android:id="@+id/ib_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:src="@drawable/player_ic_back" />
<ImageButton
android:id="@+id/ib_help"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@null"
android:src="@drawable/player_ic_help" />
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/ib_help"
android:layout_toRightOf="@+id/ib_back"
android:gravity="center"
android:singleLine="true"
android:text="海阔天空"
android:textColor="#ffffff"
android:textSize="18sp"
android:textStyle="italic|bold" />
<TextView
android:id="@+id/tv_author"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_title"
android:layout_toLeftOf="@+id/ib_help"
android:layout_toRightOf="@+id/ib_back"
android:gravity="center"
android:singleLine="true"
android:text="Beyond"
android:textColor="#ffffff"
android:textSize="14sp" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_lrc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/rl_current" >
<TextView
android:id="@+id/tv_lrc2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_lrc1"
android:gravity="right"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:text="那会怕有一天只你共我"
android:textColor="#cccccc"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_lrc1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:text="背弃了理想,谁人都可以"
android:textColor="#ffffff" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_current"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="8dp"
android:layout_above="@+id/rl_play" >
<ImageView
android:id="@+id/iv_progress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="3dp"
android:src="@drawable/player_ic_progress" />
<TextView
android:id="@+id/tv_current"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/iv_progress"
android:textColor="#ffffff"
android:text="3:52" />
<TextView
android:id="@+id/tv_duration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/iv_progress"
android:layout_alignParentRight="true"
android:textColor="#ffffff"
android:text="5:37" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >
<ImageButton
android:id="@+id/ib_shuffle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:layout_centerVertical="true"
android:src="@drawable/player_ic_shuffle" />
<ImageButton
android:id="@+id/ib_prev"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:layout_toLeftOf="@+id/ib_play"
android:layout_centerVertical="true"
android:src="@drawable/player_ic_prev" />
<ImageButton
android:id="@+id/ib_play"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:src="@drawable/player_ic_play" />
<ImageButton
android:id="@+id/ib_next"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/ib_play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:src="@drawable/player_ic_next" />
<ImageButton
android:id="@+id/ib_fav"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:src="@drawable/player_ic_fav" />
</RelativeLayout>
</RelativeLayout>
![Upload Paste_Image.png failed. Please try again.]。