Android应用的资源

    xiaoxiao2023-11-23  153

    Android应用的资源(帮助你更好了解Android)

    应用资源概述(主要介绍个人经验感受重要部分)

    Android应用资源可分为两大类

    1.无法通过R资源清单访问的原生资源,保存在assets目录下。 2.可通过R资源清单类访问的资源,保存在res目录下。

    资源的类型以及储存方式

    目录存放的资源/res/animator/存放定义属性动画的XML文件/res/anim/存放定义补间动画的xml文件/res/color/存放定义不同状态下颜色列表的xml文件/res/drawable/存放各种位图文件/res/layout/存放各种用户界面的布局文件/res/menu/存放为应用程序定义各种菜单的资源,包括选项菜单,子菜单,上下文菜单的资源/res/raw/存放任意类型的原生资源(如音频文件,视频文件)/res/lvalues/存放各种简单值的xml文件。这些简单值包括字符串值,整数值,颜色值,数组等

    使用资源

    在Android应用中使用资源可分为在Java代码和XML文件中使用资源,其中Java代码用于为Android应用定义四大组件,而XML文件则用于为Android应用定义各种资源。

    1.在Java代码中使用资源清单项 2.在Java代码中访问实际资源 3.在XML文件中使用资源

    字符串,颜色,尺寸资源

    颜色值的定义

    Android中的颜色值是通过红,绿,蓝三原色以及一个透明度值来表示的,颜色值总是以#号开头。

    定义字符串,颜色,尺寸资源文件

    字符串资源文件位于/res/values/目录下,案例如下: <string name="Hello">Hello World!</string> 该示例的字符串文件为: 上面程序代码中每个<string…/>元素定义一个字符串,name属性定义字符串的名称。

    颜色资源文件位于/res/values/目录下,例如: <color name="c1">#F00</color> 如下文件是该示例的颜色资源文件 尺寸资源文件位于/res/values/目录下,代码规格如下:

    使用字符串,颜色,尺寸资源

    如前面介绍可知,在XML文件中使用资源按如下语法格式: @[<package_name>:]<resource_type>/<resource_name> 在Java代码中使用资源按如下语法格式: [<package_name>.R<resource_type>.<resource_name>]

    数组资源

    Android并不推荐在Java代码中定义数组,因为Android允许通过资源文件来定义数组资源,所以不以介绍

    使用Drawable资源

    图片资源

    图片资源是最简单的Drawable资源,一旦系统在R资源清单类生成了指定资源的索引,接下来就可以在Java类中使用如下语法访问: [<package_name>.]R.drawable.<file_name> 在XML文件中按如下语法访问: @[<package_name>:]drawable/file_name

    StateListDrawable资源

    StateListDrawable用于组织多个Drawable对象,当使用StateListDrawable作为目标组件的背景,前景图片时,StateListDrawable对象所显示的Drawable对象会随目标组件状态的改变而自动切换。

    定义StateListDrawable对象的XML文件的根元素为<selector…/>,该元素可以包含多个<item…/>元素,该元素可指定如下属性。 1.android:color或android:drawable: 指定颜色或Drawable对象。 2.android:state_xxx: 指定一个特定的状态。 语法如下: <item android:color="hex_color" android:state_pressed:=["true" | "false"] />

    LayerDrawable 资源

    与StateListDrawable有点类似,在此不详讲

    ShapeDrawable 资源

    用于定义一个基本的几何图形,其XML文件的根元素是<shape.../>元素,该元素可指定如下属性。 android:shape=["rectangle"|"oval"|"line"|"ring"]:指定定义哪种类型的几何图形 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape=["rectangle" | "oval" | "line" | "ring"] > <corners android:radius="integer" android:topLeftRadius="integer" android:topRightRadius="integer" android:bottomLeftRadius="integer" android:bottomRightRadius="integer" /> <gradient android:angle="integer" android:centerX="integer" android:centerY="integer" android:centerColor="integer" android:endColor="color" android:gradientRadius="integer" android:startColor="color" android:type=["linear" | "radial" | "sweep"] android:useLevel=["true" | "false"] /> <padding android:left="integer" android:top="integer" android:right="integer" android:bottom="integer" /> <size android:width="integer" android:height="integer" /> <solid android:color="color" /> <stroke android:width="integer" android:color="color" android:dashWidth="integer" android:dashGap="integer" />

    ClipDrawable 资源

    代表从其他位图上截取的一个"图片片段"。其XML文件中定义使用<clip.../>元素

    xmlns:android String类型。必须的,定义XML文件的命名空间,必须是"http://schemas.android.com/apk/res/android". android:drawable Drawable资源必须的,表示该ClipDrawable引用的drawable资源。 android:clipOrientation 关键字。裁剪的方向。

    作者:邱政 [原文链接] https://blog.csdn.net/weixin_44048265/article/details/90552439

    最新回复(0)