Android开发中XML基础小结

一个Android应用最基本的文件结构

1.res 存放资源文件

2.src 存放Java源文件

3.AndroidManifest.xml

这中间,Java负责逻辑的处理,而界面设计的布局信息由XML负责。

设计用户界面的方法通常有两种:过程性设计和声明性设计。Android应用开发同时支持上述两种。但事实上,谷歌建议尽可能用声明性的XML语言,因为它更简洁,更高效。

下面介绍XML。

XML(EXtensible Markup Language),是一种类似于HTML的标记语言,它的标记不是XML预定义的,而是你自己定义的。

XML可以用来描述数据,重点是“数据是什么”。

以下是从网上找的XML的语法结构:

接下来是XML中的一些固定用法,摘自大气象学习园地:

一[email protected]代表引用资源

1.引用自定义资源。

格式:@[package:]type/name

android:text="@string/hello"

2.引用系统资源。

格式:@android:type/name

android:textColor="@android:color/opaque_red"

注意:其实@android:type/name是@[package:]type/name
的一个子类

二[email protected]*代表引用系统的非public资源。

格式:@*android:type/name

系统资源定义分public和非public。public的声明在:

<sdk_path>\platforms\android-8\data\res\values\public.xml

@*android:type/name:可以调用系统定义的所有资源

@android:type/name:只能够调用publi属性的资源。

注意:没在public.xml中声明的资源是google不推荐使用的。

三.?代表引用主题属性

另外一种资源值允许你引用当前主题中的属性的值。这个属性值只能在style资源和XML属性中使用;它允许你通过将它们改变为当前主题提供的标准变化来改变UI元素的外观,而不是提供具体的值。例如:

android:textColor="?android:textDisabledColor"

注意,这和资源引用非常类似,除了我们使用一个"?"前缀代替了"@"。当你使用这个标记时,你就提供了属性资源的名称,它将会在主题中被查找,所以你不需要显示声明这个类型(如果声明,其形式就是?android:attr/android:textDisabledColor)。除了使用这个资源的标识符来查询主题中的值代替原始的资源,其命名语法和"@"形式一致:?[namespace:]type/name,这里类型可选。

四[email protected]+代表在创建或引用资源 。

格式:@+type/name

含义:”+”表示在R.java中名为type的内部类中添加一条记录。如"@+id/button"的含义是在R.java
文件中的id 这个静态内部类添加一条常量名为button。该常量就是该资源的标识符。如果标示符(包括系统资源)已经存在则表示引用该标示符。最常用的就是在定义资源ID中,例如:

@+id/资源ID名         新建一个资源ID

@id/资源ID名          应用现有已定义的资源ID,包括系统ID

@android:id/资源ID名   引用系统ID,其等效于@id/资源ID名

android:id="@+id/selectdlg"

android:id="@android:id/text1"

android:id="@id/button3"

时间: 2024-10-06 13:01:17

Android开发中XML基础小结的相关文章

Android开发中XML布局的常用属性说明

<!-- 常用属性说明: android:id="@+id/button" 为控件指定Id android:text="NNNNNNNNNN" 指定控件的显示文本 android:textSize="12pt" 让控件中的文本显示大小 android:singleLine="true" 让控件中显示的文本在一行显示完,显示不了的自动省略 android:gravity="left" 让控件中的内容靠左

android开发中eclipse里xml开发的自动提示和使用帮助快捷键提示

Eclipse Android 代码自动提示功能 Eclipse for android 设置代码提示功能 打 开 Eclipse 依次选择 Window > Preferences > Java > Editor - Content Assist > Auto activation triggers for Java ,设置框中默认是一个点, .abcdefghijklmnopqrstuvwxyz(, 打 开 Eclipse 依次选择 Window > Preference

浅谈Android开发中Shape的使用

引言 在Android开发中我们很多情况都是使用图片来展示相关效果,今天我就来详细介绍下Android下使用Shape来进行简单UI的开发.一方面这些是Android开发的基础,另一方面这方面的知识可以在一定程度上减少图片的使用,降低App的体积.下面我就来详细介绍Shape的相关知识. 注意点:一般用shape定义的xml文件存放在drawable目录下,若项目没有该目录则新建一个,而不要将它放到drawable-hdpi等目录中. Shape支持的类型形状    rectangle: 矩形,

Android开发点点滴滴——一些基础的但有用的知识(2)

1.onItemLongClick和onItemClick事件截取 当需要同时获得一个listview的条目长按事件(onItemLongClick)和点击事件(onItemClick)时,只需要在onItemLongClick事件触发函数中,return true即可. 2.自定义CheckBox样式 在布局文件中,增加一个属性 android:button,话不多说,直接上代码 <CheckBox android:id="@+id/xxx" android:layout_wi

MVP模式在Android开发中的最佳实践

这篇文章拖了好久了,一直存在草稿箱里没有继续写,趁今天有空,撸撸完. 回想一下,你刚刚学习Android的时候,总会看到一些书上写着,Android使用的是MVC模式,Activity就是一个Controller,或许那个时候,你没有什么深刻的体会.随着经验的积累.你发现,Activity既是Controller,掌管着许许多多的业务逻辑,同时它也作为View的一部分,控制着视图层的显示.久而久之,这个Controller便显得过于重,职责不再那么单一. 于是,再后来,为了使Activity的职

Android开发点点滴滴——一些基础的但实用的知识(2)

1.onItemLongClick和onItemClick事件截取 当须要同一时候获得一个listview的条目长按事件(onItemLongClick)和点击事件(onItemClick)时,仅仅须要在onItemLongClick事件触发函数中,return true就可以. 2.自己定义CheckBox样式 在布局文件里,添加一个属性 android:button,话不多说,直接上代码 <CheckBox android:id="@+id/xxx" android:layo

Android 开发中使用 Recyclerview

Android 开发中 Recyclerview 的使用 Overview 学习自:博客园 CSDN Android 官方文档 Android 呈现数据的方式有很多种,使用自定义控件,使用 ListView,使用Recyclerview. 那么我们今天看一下Android 中 如是使用 Recyclerview. 声明依赖性 官方文档所示,我们需要声明以下依赖性: dependencies { implementation "androidx.recyclerview:recyclerview:

android开发中监听器的三种实现方法(OnClickListener)

Android开发中监听器的实现有三种方法,对于初学者来说,能够很好地理解这三种方法,将能更好地增进自己对android中监听器的理解. 一.什么是监听器. 监听器是一个存在于View类下的接口,一般以On******Llistener命名,实现该接口需要复写相应的on****(View v)方法(如onClick(View v)). 二.监听器的三种实现方法 (以OnClickListener为例) 方法一:在Activity中定义一个内部类继承监听器接口(这里是OnClickListener

android开发中,两个按下手机实体返回键,两个Activity反复来回跳转的问题

android开发中,对于用intent实现跳转的Ativity,有时候按下手机的返回键时,两个Activity之间会多次相互跳转,始终退出不了程序的情况.这是由于从Activity  A跳转到Activity  B时,A被压入Activity栈中:当从B返回时,默认又重新创建了一个Activity A对象,这样一来就有了多个Activity A对象.所以造成了无法退出情况. 解决办法是:在AndroidManifest.xml文件中找到Activity A项,在其属性中加入  android: