android的视图分为两类,一类是布局,另一个类是控件

一、LinearLayout(线性布局)

最常用布局之一,线性布局的特性是每添加一个控件默认会在上个控件的下面占一行。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
<!-- 布局的宽度属性有:”fill_parent”,”wrap_content”,”match_parent” -->
<!-- fill_parent和match_parent 将强制性地使视图扩展至父元素大小 -->
<!-- wrap_content 将完整显示其内部的文本和图像 -->
android:layout_width="match_parent"
android:layout_height="match_parent"
<!-- vertical 垂直 ,horizontal 水平 -->
android:orientation="vertical"
<!-- 子元素在父元素的对齐方式-->
   android:gravity="bottom|right"
>

android:layout_gravity和android:gravity区别

layout_gravity表示它在上一级界面的位置

gravity表示它里面的子视图的位置

二、RelativeLayout(相对布局)

最常用布局之一,相对布局的特性是添加的空间默认都在左上角一个覆盖一个。新添加的控件一定要在属性里指定其他控件相对的位置。

三、TableLayout(表格布局)

特点:一个 <TableRow>一行 里面加一个控件多一列

四、FrameLayout(帧布局)

特点:控件间的覆盖。应用场景比如视频播放器暂停时屏幕中间出现的按钮。

五、GridLayout(网格布局)

android4.0以后引入。比表格布局使用更加方便

1)可以自己设置布局中组件的排列方式
2)可以自定义网格布局有多少行,多少列
3)可以直接设置组件位于某行某列
4)可以设置组件横跨几行或者几列

典型案例,如计算器

六、AbsoluteLayout(绝对布局)

特点:能够像winform一样拖拉到屏幕上,所见即所得。但是分辨率一变,控件的大小和间距就会发生变化。

TextView

把控件拖入手机,右键go to XML 会看到如下代码

    <TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:id="@+id/textView2"
android:layout_below="@+id/textView"
android:layout_alignParentStart="true" />
android:id    控件唯一标识
android:text  显示的文本信息
android:layout_width 控件宽度
android:layout_height 控件高度
宽和高有三种赋值方式:
1.可以设置固定值 如 100dp
2.也可以动态变化 "wrap_content"  
3.可以适配父布局的宽和高 match_parent fill_parent(老版本) dpi =像素密度 ----每英寸上所能打印的点数-- 英寸就是一条线
如 dpi 160 1英寸长的线上有160个点 dpi160是标准屏幕 px=像素
dp(dip)=是设备独立像素

在标准dpi的前提下 1dp=1px  在dpi 320的前提下 1dp=2px
总结
相同px 像素密度越高的屏幕,看起来越短
相同dp 不同的像素密度,看起来一样长
 
引用 @
android:lines="5" 显示5行
强制单行属性 

android layout的更多相关文章

  1. Android--应用开发3(Android layout XML属性)

    Android layout XML属性 转载:http://www.cnblogs.com/playing/archive/2011/04/07/2008620.html Layout对于迅速的搭建 ...

  2. Android Studio “懒人”必备插件android layout id converter

    在一个布局文件里.假设定义了非常多非常多id,代码中一个个findview是一件非常枯燥而且浪费时间的事情. 所以这里向大家推荐一个必备插件android layout id converter. 配 ...

  3. Android layout的XML

    [注]此文是在学习andriod中的一些理解和总结,若有错望留言指教,谢谢 1 <RelativeLayout xmlns:android="http://schemas.androi ...

  4. android学习——Android Layout标签之-viewStub,requestFocus,merge,include

    定义Android Layout(XML)时,有四个比较特别的标签是非常重要的,其中有三个是与资源复用有关,分别是<viewStub/>, <requestFocus />, ...

  5. 【Android UI】Android Layout XML属性

    Layout对于迅速的搭建界面和提高界面在不同分辨率的屏幕上的适应性具有很大的作用.这里简要介绍Android的Layout和研究一下它的实现. Android有Layout:FrameLayout, ...

  6. Android Layout XML属性

    转载自并做少量添加:http://www.cnblogs.com/playing/archive/2011/04/07/2008620.html Layout对于迅速的搭建界面和提高界面在不同分辨率的 ...

  7. Android -- Layout布局文件里的android:layout_height等属性为什么会不起作用?

    有的时候,我们配置好的布局文件,在加载完成添加到我们的Activity中后发现,并没有安装我们设置的属性来布局,比如我们设置了android:layout_marginTop="100dip ...

  8. Android Layout布局文件里的android:layout_height等属性不起作用

    有的时候,我们配置好的布局文件,在加载完成添加到我们的Activity中后发现,并没有安装我们设置的属性 来布局,比为我们设置了android:layout_marginTop="100di ...

  9. Android layout的横竖屏处理

    一.layout-land和layout-prot的区别与使用 默认情况下,创建的Android项目里只有一个layout文件夹,尽管这样也可以横竖屏切换用,但是某些布局横屏过后闲的格外的丑,如下图 ...

  10. Android Layout Binder(在线将XML中View find出来,生成java代码的工具)

    废话不多说,这是地址:http://android.lineten.net/layout.php. 有图有真相,比如: 你的XML假如是这样: <?xml version="1.0&q ...

随机推荐

  1. 洛谷 p1141 01迷宫题解

    很长时间没发博客了,今天水一下 很多dalao说染色(普通的)过不了, 我怎么就过了 其实我也是今天才知道什么是染色(由@你听风在吼 dalao指导) 然后自己打了一个,也不知道叫不叫染色,反正是过了 ...

  2. WebStorm 编辑器 关闭自动保存功能及添加*星星标记

    WebStorm 关闭自动保存功能添加*星星标记为什么要关闭自动保存?      ​ 在前端项目工作当中,往往会采用自动化环境(Gulp.webpack等)当文本发生变化的时候就会自动编译代码.在we ...

  3. JAVA遍历map元素

    第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...

  4. ios之自定义UISwitch

    系统自带的UISwitch是这样的: 既不能写字,也不能改颜色,于是在网上找到了这么一个自定义的Switch按钮,具体出处找不见了.记录一下,怕以后找不见了. 先看下效果图: 按钮的样式很多,可以文字 ...

  5. Leetcode 7 反转整数Reverse Integer

    给定一个 32 位有符号整数,将整数中的数字进行反转. 示例 1: 输入: 123 输出: 321  示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: ...

  6. easyUI之datagrid绑定后端返回数据的两种方式

    先来看一下某一位大佬留下的easyUI的API对datagrid绑定数据的两种方式的介绍. 虽然精简,但是,很具有“师傅领进门,修行靠个人”的精神,先发自内心的赞一个. 但是,很多人和小编一样,第一次 ...

  7. 【java】【转发】classpath、path、JAVA_HOME的作用及JAVA环境变量配置

    CLASSPATH是什么?它的作用是什么? 它是javac编译器的一个环境变量.它的作用与import.package关键字有关.当你写下improt java.util.*时,编译器面对import ...

  8. DELL R730 服务器拷贝大文件

    从服务器上拷贝大文件,通过USB拷贝,写入速度很慢,而且拷贝到100多G的时候直接卡死. 原因:服务器的USB是2.0,传输速率很慢. 解决方法: 找一台笔记本,USB 接口是3.0的,通过网络共享传 ...

  9. LeetCode(125) Valid Palindrome

    题目 Given a string, determine if it is a palindrome, considering only alphanumeric characters and ign ...

  10. PAT Basic 1040

    1040 有几个PAT 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T):第二个PAT是第3位(P),第4位(A),第6位(T). 现给定字符串 ...