Android 第四天

今天学习Android遇到问题点:

1.Android 相关目录中不能出现空格,否则会报以下错误:

project location should not contain whitespace,as this can cause problems with the NDK tools。

2. 使用logi输出时提示:TAG has private access in"android.support.v4.app.FragmentActivity"

解决方法:定义一个常数 TAG 在 MainActivity :

private static final String TAG = "MainActivity"


今天主要学习目录

1.Android UI布局

2.LinerLayout

3.RelativeLayout

附注:练习code


一、Andorid UI布局

UI 布局有一些Android提供的布局,可以使用在几乎所有的Android应用程序提供不同的视图,外观和风格。

S.N.布局和说明

Linear Layout

LinearLayout视图组,所有的子视图在单一的方向对齐,垂直或水平。 

Relative Layout

RelativeLayout相对位置显示子视图的视图组。 

Table Layout

TableLayout一种视图,组视图分为行和列。 

Absolute Layout

AbsoluteLayout 使能够指定其子视图的确切位置。 

Frame Layout

FrameLayout 屏幕上是一个占位符,可以用它来显示一个单一的视图。 

List View

ListView显示滚动项目列表视图组。 

Grid View

GridView 网格控件是一种ViewGroup用于显示一个二维,滚动的网格的项目。 

布局属性

每个布局都有一组属性,它定义布局的视觉属性。所有布局中,有几个共同的属性和其他属性布局。以下是常见的属性并可以应用到所有的布局中:

属性描述

android:id唯一地标识该视图的ID

android:layout_width布局的宽度

android:layout_height这是布局的高度

android:layout_marginTop这是关于布局的顶侧的额外的空间

android:layout_marginBottom在布局上的底侧的额外的空间

android:layout_marginLeft在布局上的左侧的额外的空间

android:layout_marginRight在右侧的布局的额外空间

android:layout_gravity它指定子视图被定位

android:layout_weight指定有多少布局额外的空间应该分配给视图

android:layout_x指定布局的x坐标

android:layout_y此指定布局的y坐标

android:layout_width布局的宽度

android:layout_width布局的宽度

android:paddingLeft布局的左填充

android:paddingRight布局的右填充

android:paddingTop布局顶部填充

android:paddingBottom布局底部填充

属性说明:

可以指定宽度和高度精确的测量,但更多的时候,使用这些常量作为宽度或高度设置:

android:layout_width=wrap_content 告诉视图,其内容所需要的尺寸大小本身。

android:layout_width=fill_parent 告诉视图如其父视图一样尺寸大小。

视图标识

一个视图对象有一个唯一的ID分配给它,用于唯一识别视图。ID在XML标签的语法是:

android:id="@+id/my_button"

以下是@+ 符号的简要说明:

在符号(@)开头的字符串表示XML解析器解析和扩展ID字符串的其余部分,将其识别为一个ID的资源。

加号(+)表示,这是一个新的资源名,必须创建并添加到资源中。要创建一个视图对象的实例,并捕捉到它的布局,使用以下命令:

Button myButton = (Button) findViewById(R.id.my_button);


二、LinearLayout

LinearLayout属性

以下是具体 LinearLayout 的重要属性:

属性描述

android:id这是布局的唯一标识ID。

android:baselineAligned这必须是一个布尔值,要么“true”或“false”,并防止布局调整其子的基线。

android:divider这是绘制按钮之间的垂直分隔。使用颜色值,它们的格式如:"#rgb", "#argb", "#rrggbb" 和 "#aarrggbb"。

android:gravity指定对象应该如何定位它的内容,无论是在X轴还是Y轴。可能的值是top, bottom, left, right, center, center_vertical, center_horizontal等。

android:orientation这种安排指定的方向,可以用“horizontal”表示为一排,“vertical”表示一列。默认是水平的。


三、RelativeLayout 

Android 的 RelativeLayout 可以指定子视图如何彼此相对定位。每个视图的位置可以被指定为相对于同级元素或相对于父视图。

RelativeLayout 属性

以下是RelativeLayout 具体的属性:

属性描述

android:id这是布局的唯一标识ID。

android:gravity这指定对象应该如何定位它的内容,无论是X轴和Y轴。可能的值是top, bottom, left, right, center, center_vertical, center_horizontal等。

android:ignoreGravity这表示什么视图应该不受到重力影响。

使用RelativeLayout可以调整两个元素右边界或使一个下面跟着另一个视图,居中于屏幕上,中心,左侧等等。默认情况下,所有子视图都在左上角的布局,所以必须定义使用RelativeLayout.LayoutParams和一些重要属性的布局属性,每个视图的位置如下给出:

属性描述

android:layout_above位置上面给定锚点视图ID此视图的底部边缘,必须引用另一个资源,在形式 "@[+][package:]type:name"

android:layout_alignBottom name的下面 形式 "@[+][package:]type:name".

android:layout_alignLeft 左对齐 使用形式 "@[+][package:]type:name".

android:layout_alignParentBottom如果为true 底部同父视图,要么“true”或“false”。

android:layout_alignParentEnd如果为true,尾部同父视图,要么“true”或“false”。

android:layout_alignParentLeft如果为true,左边同父视图,要么“true”或“false”。

android:layout_alignParentRight如果为true,右边同父视图,要么“true”或“false”。

android:layout_alignParentStart如果为true,使得此视图开始边缘匹配父的开始边缘。必须是一个布尔值,要么“true”或“false”。

android:layout_alignParentTop如果为true,使得此视图的顶部边缘相匹配的父的顶部边缘。必须是一个布尔值,要么“true”或“false”。

android:layout_alignRight使得此视图的右边缘匹配给定的锚点视图ID的右边缘,并且必须是一个引用另一个资源,在形式 "@[+][package:]type:name".

android:layout_alignStart使得此视图开始边缘的匹配给定的锚点视图ID开始边缘,必须引用另一个资源,在表格 "@[+][package:]type:name".

android:layout_alignTop使得此视图的顶部边缘匹配给定的锚点视图ID的顶边缘,并且必须是一个引用到另一个资源,在形式 "@[+][package:]type:name".

android:layout_below定位此视图低于给定锚点视图ID的顶边缘,并且必须是一个引用到另一个资源,在形式 "@[+][package:]type:name".

android:layout_centerHorizontal如果为true,中心这个子视图水平在其父之内。必须是一个布尔值,要么“true”或“false”。

android:layout_centerInParent如果为true,使此子视图中心水平和垂直其父之内。必须是一个布尔值,要么“true”或“false”。

android:layout_centerVertical如果为true,该中心子垂直在其父之内。必须是一个布尔值,要么“true”或“false”。

android:layout_toEndOf此视图给定锚点视图ID结束边缘位置,必须引用另一个资源,在格式 "@[+][package:]type:name".

android:layout_toLeftOf此视图给定锚点视图ID的左边的右边位置,必须做个参考其他资源,在形式 "@[+][package:]type:name".

android:layout_toRightOf定位此视图为给定的锚点视图ID的右左边缘和必须是引用到另一个资源,在形式 "@[+][package:]type:name".

android:layout_toStartOf定位此视图为给定的锚点视图ID的开始的端部边缘,并且必须是一个引用到另一个资源,在形式 "@[+][package:]type:name".



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

推荐阅读更多精彩内容