Layout Resource官方教程(1)简介
Layout Resource
SEE ALSO
A layout resource defines the architecture for the UI in an Activity or a component of a UI.
- FILE LOCATION:
-
res/layout/filename.xml The filename will be used as the resource ID.- COMPILED RESOURCE DATATYPE:
- Resource pointer to a
View(or subclass) resource. - RESOURCE REFERENCE:
- In Java:
R.layout.filename In XML:@[package:]layout/filename
语法示例
- SYNTAX:
<?xml version="1.0" encoding="utf-8"?>
<ViewGroup xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@[+][package:]id/resource_name"
android:layout_height=["dimension" | "fill_parent" | "wrap_content"]
android:layout_width=["dimension" | "fill_parent" | "wrap_content"]
[ViewGroup-specific attributes] >
<View
android:id="@[+][package:]id/resource_name"
android:layout_height=["dimension" | "fill_parent" | "wrap_content"]
android:layout_width=["dimension" | "fill_parent" | "wrap_content"]
[View-specific attributes] >
<requestFocus/>
</View>
<ViewGroup >
<View />
</ViewGroup>
<include layout="@layout/layout_resource"/>
</ViewGroup>
-
Note: The root element can be either a
ViewGroup, aView, or a<merge>element, but there must be only one root element and it must contain thexmlns:androidattribute with theandroidnamespace as shown. - ELEMENTS:
| <ViewGroup> | |
| desc |
A container for other layout of the child elements in different ways. Different kinds of and implementations of the |
| android:id |
Resource ID. A unique resource name for the element, which you can use to obtain a reference to the application. See more about the value for |
| android:layout_height |
Dimension or keyword. Required. The height for the group, as a dimension value (or dimension resource) or a keyword ( |
| android:layout_width |
Dimension or keyword. Required. The width for the group, as a dimension value (or dimension resource) or a keyword ( |
| other |
More attributes are supported by the For a reference of all available attributes, see the corresponding reference documentation for the |
| <View> | |
| desc | An individual UI component, generally referred to as a "widget". Different kinds of View objects include TextView, Button, and CheckBox. |
| android:id |
Resource ID. A unique resource name for the element, which you can use to obtain a reference to the See more about the value for |
| android:layout_height |
Dimension or keyword. Required. The height for the element, as a dimension value (or dimension resource) or a keyword ( |
| android:layout_width |
Dimension or keyword. Required. The width for the element, as a dimension value (or dimension resource) or a keyword ( |
| other |
More attributes are supported by the Read Layouts for more information. For a reference of all available attributes, see the corresponding reference documentation (for example, the TextView XML attributes). |
| <requestFocus> | |
|
Any element representing a You can have only one of these elements per file. |
|
| <include> | |
| desc | Includes a layout file into this layout. |
| layout | Layout resource. Required. Reference to a layout resource. |
| android:id | Resource ID. Overrides the ID given to the root view in the included layout. |
| android:layout_height |
Dimension or keyword. Overrides the height given to the root view in the included layout. Only effective if is also declared. |
| android:layout_width |
Dimension or keyword. Overrides the width given to the root view in the included layout. Only effective if also declared. |
|
You can include any other layout attributes in the will override those defined in the root element. Caution: If you want to override layout attributes using the
It is a lightweight View that consumes no layout space until you explicitly inflate it, at which point, it includes a layout file defined by its |
|
| <merge> | |
|
An alternative root element that is not drawn in the layout hierarchy. Using this as the root element is useful when you know that this layout will be placed into a layout that already contains the appropriate parent View to contain the children of the layout in another layout file using |
|
-
Value for
android:idFor the ID value, you should usually use this syntax form:
"@+id/name". The plus symbol,+, indicates that this is a new resource ID and theaapttool will create a new resource integer in theR.javaclass, if it doesn't already exist. For example:<TextView android:id="@+id/nameTextbox"/>
The
nameTextboxname is now a resource ID attached to this element. You can then refer to theTextViewto which the ID is associated in Java:findViewById(R.id.nameTextbox);
This code returns the
TextViewobject.However, if you have already defined an ID resource (and it is not already used), then you can apply that ID to a
Viewelement by excluding the plus symbol in theandroid:idvalue.Value for
android:layout_heightandandroid:layout_width:The height and width value can be expressed using any of the dimension units supported by Android (px, dp, sp, pt, in, mm) or with the following keywords:
Value Description match_parentSets the dimension to match that of the parent element. Added in API Level 8 to deprecate fill_parent.fill_parentSets the dimension to match that of the parent element. wrap_contentSets the dimension only to the size required to fit the content of this element. Custom View elements
You can create your own custom
ViewandViewGroupelements and apply them to your layout the same as a standard layout element. You can also specify the attributes supported in the XML element. To learn more, see the Custom Components developer guide. - EXAMPLE:
- XML file saved at
res/layout/main_activity.xml:<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a TextView" />
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a Button" />
</LinearLayout>This application code will load the layout for an
Activity, in theonCreate()method: -
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
}
Layout Resource官方教程(1)简介的更多相关文章
- Layout Resource官方教程(3)在layout中用include嵌入其它layout
简介 <include>Includes a layout file into this layout. 类似 #include ,把layout展开在include处 attribute ...
- Layout Resource官方教程(4)<include>与<merge>
Re-using Layouts with <include/> THIS LESSON TEACHES YOU TO Create a Re-usable Layout Use the ...
- Layout Resource官方教程(2)用ViewStub引用的嵌入的layout可推迟加载
Loading Views On Demand THIS LESSON TEACHES YOU TO Define a ViewStub Load the ViewStub Layout YOU SH ...
- ContentProvider官方教程(2)简介、Content URIs
In this document Overview Accessing a provider Content URIs Content Provider Basics A content provid ...
- Intent官方教程(1)简介和作用
Intents An Intent is a messaging object you can use to request an action from another app component. ...
- ActionBar官方教程(1)简介及各区域介绍
Action Bar The action bar is a window feature that identifies the user location, and provides user a ...
- SwiftUI 官方教程
SwiftUI 官方教程 完整中文教程及代码请查看 https://github.com/WillieWangWei/SwiftUI-Tutorials SwiftUI 官方教程 SwiftUI ...
- Node.js 教程 01 - 简介、安装及配置
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...
- Unity性能优化(3)-官方教程Optimizing garbage collection in Unity games翻译
本文是Unity官方教程,性能优化系列的第三篇<Optimizing garbage collection in Unity games>的翻译. 相关文章: Unity性能优化(1)-官 ...
随机推荐
- ios fix UIRefreshControl bug
NS_CLASS_AVAILABLE_IOS(6_0) UIRefreshControl 有个毛病有时会出bug 动画下拉就不动了,这里给出修复处理: @interface UICollecti ...
- ###《More Effective C++》- 操作符
More Effective C++ #@author: gr #@date: 2015-05-21 #@email: forgerui@gmail.com 五.对定制的"类型转换函数&qu ...
- 三栏布局的n种实现
本文主要讨论左右边栏固定宽度,中间栏填满其余空间的布局.至于其他类型,基本上也就是半斤和八两.每一种布局都会有个Demo,个人依然认为文章里帖代码并没有Demo来的直接.所以正文负责解释,源码参见De ...
- IO流07_输入输出流总体系
[javaIO体系中常用的流] [关于字符流和字节流的注意点] 通常,字节流比字符流功能更加强大,因为字节流可以处理所有的二进制文件. 但是字节流来处理字符,又需要将字节转换成字符,增加了编程复杂度. ...
- Python快速入门学习笔记(一)
本篇文章适合有其他高级语言基础的人群阅读 使用的Python版本为python2.7 使用的编辑器为Sublime Text3 世界始于Hello World: print 'Hello world' ...
- N的N次方(高校俱乐部)
最近一直在刷字符串和线段树,也越来越少玩高校俱乐部,无聊看到一题N的N次方的问题,脑海中各种打表就涌现出来了. 弄了不一会儿,就写完了,马上提交,但是系统好像出了问题,提示"哦哦,出了点状况 ...
- 九度OJ 1351 数组中只出现一次的数字
题目地址:http://ac.jobdu.com/problem.php?pid=1351 题目描述: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 输 ...
- Yii 获取验证码与Yii常用的URL
$this->createAction('captcha')->getVerifyCode(); //获取当前验证码的值 当前页面url echo Yii::app()->requ ...
- 顺序表 C++模板实现
#include <iostream> using namespace std; template <typename T> class list{ private: int ...
- RX学习笔记:JavaScript数组操作
RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.un ...