Android中布局的一些常识

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

通过查看Logcat,系统提示空指针异常,但我怎么也查不到导致异常出现的代码,只能一行一行地排查,最后发现是在寻找控件的id时出错,找不到这个id对应的控件。可这个id我明明就在fragment_main.xml中定义并加入的。后来经过上网查询相关的知识,将在fragment_main.xml中定义的控件全部转到activity_main.xml中,应用程序就可正常运行了。

如此可见,要在某一个activity中使用的控件一定在要相应的activity.xml定义,这样方便添加控件的事件处理,不能在其他的xml文件中去定义,否则系统不会报错,但你的应用程序会崩溃。希望可以对像我一样刚学android的新手有一定的帮助。同时我也不明白为什么会这样?如果有前辈知道为什么,请评论告诉一下。

Android中布局的一些常识

时间: 2024-11-07 01:00:56

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中布局优化总结

1.<include> <merge> <viewStub>标签 2.FrameLayout>RelationLayout>LinearLayout 3.LinearLayout中少用layout_weight参数 4.布局中减少Layout层次嵌套和不必要节点,代码中减少不必要的infalte(e.g. 局部变量->全局变量) 5.用TextView代替TextView+ImageView的组合(实用drawableTop属性等) 6.首次不需要显示

Android中布局文件的创建

在 Android应用程序中,界面是通过布局文件设定的.布局文件采用XML格式,每个应用程序默认包含一个主界面布局文件,该文件位于项目的 res/layout 目录中.接下来创建一个“布局”程序,此时会看到一个界面设计面板,如图1所示. 图1 布局文件 从图1中可以看出,布局文件窗口中有两个选项卡,分别是 Graphical Layout.activity_main.xml.其中 Graphical Layout是布局文件的图形化视图,在该视图中可以通过鼠标将 Palette 窗口中的控件直接拖

Android中布局的特点

常用布局:[线性布局]:1.有两个布局方向:水平或者竖直:2.在竖直布局下:左对齐.右对齐.水平居中生效:3.在水平布局下:顶部对齐.底部对齐.竖直居中生效.    总结:[在相应布局的方向对其进行移动的话是不会生效的.]4.权重:按照[剩余]的屏幕的大小进行比例分配. [相对布局]:带align(对齐)的都是对齐.1.没有权重.方向!默认是左上角2.可以相对于父元素上下左右对齐,[layout_alignParentXXX]    相对于父元素,水平居中,竖直居中.水平竖直同时居中.[layo

Android 中布局的优化措施都有哪些?

1.尽可能减少布局的嵌套层级可以使用 sdk 提供的 hierarchyviewer 工具分析视图树,帮助我们发现没有用到的布局.2.不用设置不必要的背景,避免过度绘制比如父控件设置了背景色,子控件完全将父控件给覆盖的情况下,那么父控件就没有必要设置背景.3.使用<include>标签复用相同的布局代码4.使用<merge>标签减少视图层次结构该标签主要有两种用法:1) 因 为 所 有 的 Activity 视 图 的 根 节 点 都 是 FrameLayout , 因 此 如 果

iOS中xib与storyboard原理,与Android界面布局的异同

用文本标记语言来进行布局,用的最多的应该是HTML语言.HTML可以理解为有一组特殊标记的XML语言. 一.iOS中xib与storyboard显示原理 在iOS中主要的布置界面的方式有3种:代码,xib,storyboard. 1. 代码 代码布置界面是万能的,但通常很复杂.布置一个简单的界面可能需要很多行代码,因此十分繁琐. 下面为创建一个按钮的代码,最少也要3行: UIButton *btn = [UIButton buttonWithType:UIButtonTypeContactAdd

android学习六(android中四种基本布局)

前面学习了android中的基本组件的使用,这一篇,我将总结下android中布局的使用,详细的看下面. 1.LinearLayout LinearLayoutyot又称线性布局,是一种常用的布局,它又可以有水平方向的和垂直方向的布局方式.前面一篇博文基本使用的是线性布局中的垂直布局,这个垂直布局的的方式是有属性android:orientation="vertical"控制的.如果把值指定为horizontal则控件就会在水平方向上排列了.下面我进行实战的操作吧. 新建一个andro

android 中ScrollView的使用

android中布局一般都有两种方式,一种xml声明,另外一种则是程序声明: 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_

android 在布局中动态添加控件

第一步 Java代码 final LayoutInflater inflater = LayoutInflater.from(this); 第二步:获取需要被添加控件的布局 Java代码 final LinearLayout lin = (LinearLayout) findViewById(R.id.LinearLayout01); 第三步:获取需要添加的布局(控件) Java代码 LinearLayout layout = (LinearLayout) inflater.inflate( R