简单的Android界面创建

线性布局

线性布局: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.]。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,376评论 25 707
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,345评论 0 17
  • 欢迎Follow我的GitHub, 关注我的CSDN. 其余参考Android目录. 转载请注明出处:http:/...
    passiontim阅读 4,739评论 0 31
  • 玫瑰 用泪做春泥,用血做颜料。 飘三千日夜,来到你城边。 有位好心人,转交到你门旁。 待到泪干,血亦凝。 未听叩门...
    痴人林阅读 187评论 0 0
  • 古语云:尽信书不如无书,曾经的我却对书本所描述的任何事都深信不疑,也因此发觉自己原来是个很木讷的人,竟然没有自己的...
    全茵为你阅读 400评论 0 0