Android中布局文件的创建

在 Android应用程序中,界面是通过布局文件设定的。布局文件采用XML格式,每个应用程序默认包含一个主界面布局文件,该文件位于项目的 res/layout 目录中。接下来创建一个“布局”程序,此时会看到一个界面设计面板,如图1所示。

图1 布局文件

从图1中可以看出,布局文件窗口中有两个选项卡,分别是 Graphical Layout、activity_main.xml。其中 Graphical Layout是布局文件的图形化视图,在该视图中可以通过鼠标将 Palette 窗口中的控件直接拖动到布局中,activity_main.xml是布局文件对应的代码,当将选项卡切换在 activity_main.xml时,显示的代码如图2所示。

图2  布局文件代码

从图2 可以看出,新建的 Android 程序默认的布局类型为相对布局(RelativeLayout),该布局中包含一个文本控件(TextView)。要让布局文件或者控件能够显示在界面上,必须要设置 RelativeLayout 和控件的宽和高,通过 android: layout_width和 android: layout_height属性指定,宽度和高度的属性有以下几种:

  • match_parent:该属性的意思为将强制性地使视图扩展至父元素大小。
  • wrap_content:表示将强制性地使视图扩展以显示全部内容,通俗的讲就是指当前元素的宽高度只要能刚好包含里面的内容就可以了。以 TextView控件为例,设置为wrap_content将完整显示其内部的文本。

需要注意的是,fill_parent 和 match_parent 是一个意思,只不过 match_parent更贴切,于是从 Android 2.2开始两个词都可以用,但Google推荐使用 match_parent,2.2版本以下只支持使用 fill_parent。

应用程序的默认布局文件会在 MainActivity 中的onCreate() 方法中通过代码“ setContentView(R.layout.布局资源文件名称)” 加载到View对象中,这样当程序运行时,才能在界面看到编写好的布局,具体代码如下所示:

1 public class MainActivity extends ActionBarActivity {
2
3     @Override
4     protected void onCreate(Bundle savedInstanceState) {
5         super.onCreate(savedInstanceState);
6         setContentView(R.layout.activity_main);
7     }
8 }

通常情况下,一个应用程序是由多个界面组成的,而应用程序提供的一个布局文件是不能满足需求的,因此需要添加布局文件。

添加布局文件非常简单,只需选中 layout 文件夹并右击,依次选择 New→Android XML File,此时会弹出 New Android XML File窗口,在File文本框中输入布局文件的名称。需要注意的是,布局文件的名称只能包含小写字母(a-z)、0~9、“_”  并且只能由小写字母开头。输入完名称后选择布局类型,这里选择的类型为 LinearLayout,如图3所示。

图 3  New Android XML File

单击 Finish按钮,此时会跳到布局文件窗口,在该窗口中就可以编写布局文件。例如,拖动几个控件到布局文件中,如图4所示。

图 4 布局文件窗口

需要注意的是,布局文件编写完成后,如果想让布局文件显示在当前窗口中,需要在MainActivity 中的 onCreate()方法中通过代码“ setContentView(R. layout. 布局资源文件名称)” 将布局文件加载到View对象中。

原文地址:https://www.cnblogs.com/jachin19971218/p/10708220.html

时间: 2024-08-06 20:05:47

Android中布局文件的创建的相关文章

Android中布局文件中使用onClick属性

安卓开发中,布局文件中的控件有一个属性,是onClick,例如: <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onButtonClick" android:text="Button" /> 在相

Android中的文件读写全面总结

转载请注明出处:http://blog.csdn.net/bettarwang/article/details/41625187 在深入分析Java中的I/O类的特征及适用场合 一文中,我详细介绍了Java中的I/O,但是,如果以为Android中的I/O与Java中一样,那就大错特错了.实际上,它们有一定的相同之外,但更多的是区别,因为Android系统中的文件存放位置不同,读取方式也不一样.下面将详细介绍Android中的文件读写: 一.资源文件的读取,不需要在Manifest文件中添加权限

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

有的时候,我们配置好的布局文件,在加载完成添加到我们的Activity中后发现,并没有安装我们设置的属性来布局,比如我们设置了android:layout_marginTop="100dip",但是运行程序后发现一点作用都没有,相似的还有layout_height等以android:layout_开头的属性设置都没有作用,这类问题以我们使用Adapter的作为数据源的时候作用居多,因为Adapter里有一个方法是getView,这个返回的VIew是一个从XML布局里加载的,一般如下:

Android中的文件权限操作

默认本工程创建的文件本工程对其有读写权限. 我们可以通过context.openFileOutput("文件名", 模式): 我们可以创建私有, 共有, 只读, 只写文件, 默认的文私有文件. 如果别的Android工程访问本工程的文件的话就会受限制, android的内核是linux, 所以他的文件管理和linux中的文件时一样的. 创建文件代码: /** * 创建各种文件 * @throws IOException * */ @SuppressLint({ "WorldW

Xamarin.Android之布局文件智能提示问题

Xamarin.Android之布局文件智能提示问题 一.前言 看到有人问关于xamarin.android的布局没智能提示问题(VS 2015),当然,写布局这东西没提示这是一件相对痛苦的事 ,所以这里就提供一个解决的方案! 二.解决方案 想要智能提示,肯定也是要有相应的文件的!!! 第一步.把这两个文件放在  VS安装目录\Xml\Schemas   这个文件夹下面 第二步.在VS中把这两个用起来 打开工具栏的XML->Schemas 通过添加按钮把那两个文件添加进去(按理说,只需要添加那个

[笨木头Unity3D]杂记003&#183;Unity在Android中读取文件

这周被一个问题给折腾了几个晚上,那就是在Android中读取文件,这本是一件很简单的事情,可想象总是美好的. 笨木头花心贡献,啥?花心?不,是用心. 转载请注明,原文地址:http://www.benmutou.com/archives/2094 文章来源:笨木头与游戏开发 1.在电脑上读取文件 首先要解决的当然是在电脑上读取文件了,这个并不难,网上一堆资料. 比如: public static string LoadFile(string filePath) { string url = Ap

自定义layout中布局文件的属性

以前一直都是用ndroid自带的属性,突然发现自定义xml属性也是非常重要,于是总结了一下. 在values文件夹下新建的attr.xml文件,该文件为自定义属性. //attr.xml <?xml version="1.0" encoding="utf-8"?> <resources> <!-- MyView为自定义视图类 --> <!-- 注意:自定义属性必须一个不少的添加到布局文件中,否则编译失败 --> <

Android中布局的一些常识

一般我们都会在xml文件中去定义要在程序中使用的一些控件,最新的ADT会为每一个activity同时生成两个xml文件,一个是activity_main.xml,另一个就是fragment_main.xml.刚开始我不懂两者的区别,就在fragment_main.xml中定义在activity中使用的控件,Eclipse不会报错.如果不添加控件的一些事件如点击,应用程序就可以正常运行.但如果添加了控件的事件处理,运行时应用程序 就会崩溃. 通过查看Logcat,系统提示空指针异常,但我怎么也查不

Android中的文件存储

另见Android中的文件存储 一.前言 文件存储时Android中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动地保存到文件当中的,因此它比较适合用于存储一些简单的文本数据或二进制数据. 二.将数据存储到文件中 Context类中提供了一个openFileOutput()方法,可以用于将数据存储到指定的文件中. 可以看到,此方法接收两个参数,第一个即是文件的名字,这里不可以包含文件路径,所有的文件都是默认存储到/data/data//files/目录下的.