Android res文件夹下资源定义及使用

2023-11-09



1  颜色 #RGB #ARGB #RRGGBB #AARRGGBB

 

颜色资源应该位于<resources></resources>标签下

 

路径res/values/colors.xml 名字可以随意

 

定义<color name=cname>value</color>

 

使用 Resourse.getValues.getColorR.标签名."name"属性,如:R.color.cname

 

<?xml version="1.0" encoding="utf-8"?>

 

<resources>

 

<color name="white">#FFFFFF</color>

 

<color name="black">#000000</color>

 

</resources>

 

2  字串

 

字串资源应该位于<resources></resources>标签下

 

路径res/values/strings.xml

 

定义<String  name=sname>value</String>

 

使用 Resourse.getValues.getStringR.标签名.name属性,如:R.String.sname

 

<?xml version="1.0" encoding="utf-8"?>

 

<resources>

 

    <string name="hello">Hello World, ResrouseTestActivity!</string>

 

    <string name="app_name">ResrouseTest</string>

 

</resources>

 

 

 

3  图片

 

图片资源一般使用png格式,Android系统也支持jpggif9png等格式,可以使用Movie来播放gif格式的图片

 

路径res/drawable

 

可以直接存放图片也可以是xml等配置文件(一般用于自定义组件)

 

使用 getDrawableR.drawable.图片名。

 

 

 

4  图片的颜色

 

位于res/values/my_drawable.xml名字随意

 

 <?xml version="1.0" encoding="utf-8"?>

 

<resources>

 

<drawable name="solid_red">#FF0000</drawable>

 

</resources>

 

定义用于填充一个组件的颜色值,即给view设置背景色。用法和drawable下的图片一样,其实没多少意义,使用颜色定义就ok了,目前我是这样认为的,可能有更好的优点,不过我没发现罢了,嘿嘿,continue...

 

5  单位资源

 

单位资源应该位于<resources></resources>标签下

 

路径res/values/dimen.xml 名字可以随意

 

使用和Stringcolor类似

 

<?xml version="1.0" encoding="utf-8"?>

 

<resources>

 

<dimen name="dimen_name">2px</dimen>

 

<dimen name="dimen_px">5px</dimen>

 

<dimen name="dimen_pt">3pt</dimen>

 

<dimen name="dimen_dp">3dp</dimen>

 

</resources>

 

6  Nine-patch(可以拉伸的小图片)

 

支持图片的拉伸

 

   貌似就是所谓的png图片文件资源,图片在应用view的背景时,如果被设为background则会随view的大小变化做相应的拉伸和收缩,像ImageView这类设置src图片则不随view变化,按其自身大小显示部分或全部!

 

7  菜单

 

菜单即可以从代码中实现也可以在资源文件中配置,这里就是要描述一下第二种

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item 

        android:id="@+id/previous" 

        android:title="@string/previous" 

        android:enabled="false"  android:icon="@android:drawable/ic_media_previous"/>

        <item 

        android:id="@+id/play_pause" 

        android:title="@string/play" 

        android:icon="@android:drawable/ic_media_play"/>

    <item 

        android:id="@+id/next" 

        android:title="@string/next" 

        android:icon="@android:drawable/ic_menu_next"/>

</menu>

8  Layout布局

 

这个就是你经常看到的与用户交互的界面的xml文件,就是各个view的排列和嵌套,没什么好说的啦

 

9  风格和主题、

 

风格主要是指view的显示风格 res/values/filename.xml

 

<?xml version=1.0 encoding=utf-8?>

<resources>

   <style name=”SpecialText” parent=”@style/Text”>

   <item name=”android:textSize”>18sp</item>

   <item name=”android:textColor”>#008</item>

</style>

</resources>

 

主题主要针对Activity, 可以在Android Manifest中定义的<application><activity>元素将主题添加到整个程序或者某个 Activity,但是主题是不能应用在某一个单独的View.风格可以自己定义也可以使用程序自带的或是继承已有的风格。

 

<?xml version="1.0" encoding="utf-8"?>

<resources>

<style name="CustomTheme">

<item name="android:windowNoTitle">true</item>

<item name="windowFrame">@drawable/screen_frame</item>

<item name="windowBackground">@drawable/screen_background_white</item>

<item name="panelForegroundColor">#FF000000</item>

<item name="panelBackgroundColor">#FFFFFFFF</item>

<item name="panelTextColor">?panelForegroundColor</item>

<item name="panelTextSize">14</item>

<item name="menuItemTextColor">?panelTextColor</item>

<item name="menuItemTextSize">?panelTextSize</item>

</style>

</resources>

 

 

10、动画

 

动画资源分为两种,一是实现图片的translatescalerotatealpha四种变化。还可以设置动画的播放特性;另一种是帧动画,逐帧播放设置的资源

 

先说一下第一种

 

Res/anim/filename.xml//此处anim文件夹是自己建的,名字不可变!

<set xmlns:android="http://schemas.android.com/apk/res/android">             

                    <translate android:interpolator="@android:anim/accelerate_interpolator"

                                         android:fromXDelta="0" android:toXDelta="200" android:fromYDelta="0"

                                         android:toYDelta="180" android:duration="2000" />

                    <scale android:interpolator="@android:anim/accelerate_interpolator"

                                         android:fromXScale="1.0" android:toXScale="2.0" android:fromYScale="1.0"

                                         android:toYScale="2.0" android:pivotX="150%" android:pivotY="150%"

                                         android:duration="2000" />

                    <alpha android:fromAlpha="1.0" android:toAlpha="1.0"

                                         android:duration="@android:integer/config_mediumAnimTime" />

                    <rotate ....各个属性></rotate>

                    <Interpolator >可以使用其子类和属性定义动画的运行方式,先快后慢,先慢后快等</Interpolator>

</set>

具体参数的用法,大家可以自己查资料

 

下面是第二种资源

 

<animation-list xmlns:android=”http://schemas.android.com/apk/res/android”

android:oneshot=”true”>

<item android:drawable=@drawable/rocket_thrust1 android:duration=200 />

<item android:drawable=@drawable/rocket_thrust2 android:duration=200 />

<item android:drawable=@drawable/rocket_thrust3 android:duration=200 />

</animation-list>

 

 

 

 

 

1. 相关文件夹介绍     Android项目文件夹里面,主要的资源文件是放在res文件夹里面的。assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xmljava文件被预编译,可以存放一些图片,htmljs, css等文件。在后面会介绍如何读取assets文件夹的资源!

     res文件夹里面的多个文件夹的各自介绍(来自网上的Android开发指南中文版内容)

目录Directory

 

资源类型Resource Types

 

res/anim/

 

XML文件,它们被编译进逐帧动画(frame by frame animation)或补间动画(tweened animation)对象

 

res/drawable/

 

.png.9.png.jpg文件,它们被编译进以下的Drawable资源子类型中:

 

要获得这种类型的一个资源,可以使用Resource.getDrawable(id)

 

位图文件

 

9-patches(可变尺寸的位图)

 

为了获取资源类型,使用mContext.getResources().getDrawable(R.drawable.imageId)

 

注意:放在这里的图像资源可能会被aapt工具自动地进行无损压缩优化。比如,一个真彩色但并不需要256色的PNG可能会被转换为一个带调色板的8PNG。这使得同等质量的图片占用更少的资源。所以我们得意识到这些放在该目录下的二进制图像在生成时可能会发生变化。如果你想读取一个图像位流并转换成一个位图(bitmap),请把图像文件放在res/raw/目录下,这样可以避免被自动优化。

 

 

res/layout/

 

被编译为屏幕布局(或屏幕的一部分)XML文件。参见布局声明(Declaring Layout)

 

res/values/

 

可以被编译成很多种类型的资源的XML文件。

 

注意:

不像其他的res/文件夹,它可以保存任意数量的文件,这些文件保存了要创建资源的描述,而不是资源本身。XML元素类型控制这些资源应该放在R类的什么地方。

 

 

尽管这个文件夹里的文件可以任意命名,不过下面使一些比较典型的文件(文件命名的惯例是将元素类型包含在该名称之中):

 

 

array.xml 定义数组

 

 

colors.xml 定义color drawable和颜色的字符串值(color string values)。使用Resource.getDrawable()Resources.getColor()分别获得这些资源。

 

 

dimens.xml定义尺寸值(dimension value)。使用Resources.getDimension()获得这些资源。

 

 

strings.xml定义字符串(string)值。使用Resources.getString()或者Resources.getText()获取这些资源。getText()会保留在UI字符串上应用的丰富的文本样式。

 

 

styles.xml 定义样式(style)对象。

 

res/xml/

 

任意的XML文件,在运行时可以通过调用Resources.getXML()读取。

 

res/raw/

 

res/assets/

 

直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。要使用这些资源,可以调用Resources.openRawResource(),参数是资源的ID,即R.raw.somefilenameassets下也可以放置任意文件,使用Activity.this.getAssets().open("519.txt");打开

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android res文件夹下资源定义及使用 的相关文章

  • android.app包---------ActivityManager类介绍

    ActivityManager类介绍 ActivityManager与系统与所有正在运行Activity进行交互 相关方法介绍 getDeviceConfigurationInfo 获取设备配置属性值 getMemoryClass 返回当前
  • 使用fastboot工具刷入recovery.img、boot.img、system.img等

    下载解压 fastboot工具 解压FastBoot工具 zip 将解压得到的 FastBoot文件夹复制到任意盘如 D盘 将要刷入手机的recovery img recovery img等放到FastBoot文件夹 安装好手机型号对应的U
  • Android 3D滑动菜单完全解析,实现推拉门式的立体特效

    转载请注明出处 http blog csdn net guolin blog article details 10471245 在上一篇文章中 我们学习了Camera的基本用法 并借助它们编写了一个例子 实现了类似于API Demos里的图
  • UncaughtExceptionHandler示例使用

    概述 UncaughtExceptionHandler是用来catch线程内的没有被捕获到的exception 可以在uncaughtException方法中对这些异常进行统一处理 用法 UncaughtExceptionHandler是一
  • Android RecycleView列表使用GridLayoutManager 均分子项Item,且左右宽度相同

    1 需求描述 列表分为一列两个 两个子项宽度一致 且左右边距一样 就是要好看 子项宽度适配手机 高度适配宽度 2 问题描述 但是我们直接设置的时候 他的子项会在给他的布局的左边 于是我想到了设置下子项的左右边距 但是android手机屏幕太
  • android.accounts包

    包 android accounts 英文原文 http developer android com reference android accounts package summary html 版本 Android 4 0 r1 译者署
  • Android数据库安全解决方案,使用SQLCipher进行加解密

    转载请注明出处 http blog csdn net guolin blog article details 11952409 我们都知道 Android系统内置了SQLite数据库 并且提供了一整套的API用于对数据库进行增删改查操作 数
  • Java中的四种引用

    Java中存在四种引用 它们分别是 1 强引用 StrongReference 强引用是使用最普遍的引用 如果一个对象具有强引用 那垃圾回收器绝不会回收它 当内存空间不足 Java虚拟机宁愿抛出OutOfMemoryError错误 使程序异
  • Android res文件夹下资源定义及使用

    1 颜色 RGB ARGB RRGGBB AARRGGBB 颜色资源应该位于
  • Java中String类的isEmpty方法、null以及""的区别

    一直以来对String的这三个空挺晕的 刚好同事问我 我也学习下 从别人博客上看到的是这样的 isEmpty 分配了内存空间 值为空 是绝对的空 是一种有值 值 空 分配了内存空间 值为空字符串 是相对的空 是一种有值 值 空字串 null
  • android 日期控件

    相关布局文件
  • Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能

    转载请注明出处 http blog csdn net guolin blog article details 9255575 最近项目中需要用到ListView下拉刷新的功能 一开始想图省事 在网上直接找一个现成的 可是尝试了网上多个版本的
  • android.content包-----ClipboardManager

    ClipboardManager类介绍 Clipboardmanager类通过getSystemService String 方法进行实例化操作 ClipboardManger类的相关方法很简单 包含set和get剪切板的数据 剪切板的数据
  • WebView 加载不出网页,一片空白

    今天在项目上加载网页时 发现一只加载不出来 emmm 就看了下以往的项目 发现遗漏的地方不止一点哦 在此做个总结 1 权限配置 确保在 AndroidManifest xml 文件中添加了网络权限
  • android获取string.xml的值

    为什么需要把应用中出现的文字单独存放在string xml文件中呢 一 是为了国际化 当需要国际化时 只需要再提供一个string xml文件 把里面的汉子信息都修改为对应的语言 如 English 再运行程序时 android操作系统会根
  • Android Studio如何添加工程(project)为library(针对非gradle)

    这篇文章还是针对非gradle build的工程 gradle build有一些差别 在Eclipse要引用别的工程为本工程的library很简单 但是在Android Studio还是稍稍有点小复杂的 那如何引用别的工程为本工程的libr
  • Android SurfaceView

    下面就贴上一个小程序代码 主要运用SurfaceView来实现在屏幕上画一个圆 你可以通过按方向键和触摸屏幕来改变圆的位置 代码 Activity java view plain copy print package com view im
  • android.accessibilityservice包介绍

    android accessibilityservice 英文原文 http developer android com reference android accessibilityservice package summary html
  • 转载的开源干货

    android相关 第三方库 awesome android ui 大量 Android UI UX 库 大城小黄 recyclerview animators 一个关于RecyclerView items的动画库 一个简单的Recycle
  • ANDROID版本号和版本名称的重要性介绍

    转载请注明出处http blog csdn net y150481863 article details 41249159 来自 http blog csdn net y150481863 当我们在刚开始学习ANDROID的时候 可能不会过

随机推荐

  • strtok_s的用法基本解释(2021-07-12)

    strtok s的用法基本解释 char string A string tof tokens nand some more tokens char seps t n char token NULL printf Tokens n char
  • 以太坊Ethereum命令

    etheum命令 查询账户 eth accounts 创建账户 personal newAccount password 查看账户余额 eth getBalance eth accounts 0 或指定具体的账户 eth getBalanc
  • SSO、OAuth2、JWT、CAS、OpenID、LDAP、淘宝微信登录一网打尽

    目录 前言 一 SSO简介 二 OAuth2简介 三 OAuth 2 0 规定了四种获得令牌的流程 1 授权码 Authorization Code 2 隐藏式 Implicit 3 密码式 Resource Owner Password
  • Cache的基本原理以及简单操作

    对于没有接触过底层技术的朋友来说 或许从未听说过cache 毕竟cache的存在对程序员来说是透明的 在接触cache之前 先为你准备段code分析 int arr 10 128 for i 0 i lt 10 i for j 0 j lt
  • 【JavaScript】关于this的代码输出题总结

    1 在Javascript中 this指向函数执行时的当前对象 2 箭头函数时不绑定this的 它的this来自原其父级所处的上下文 3 如果call第一个参数传入的对象调用者是null或者undefined call方法将把全局对象 浏览
  • docker容器里输入python: command not find

    在docker 容器里已经安装好了python包等文件 但是在命令行输入python时出现的是command not find 这是因为没有将包里的python与用户认识的python 建立起来联系 只需要建立软连接即可 ln s opt
  • 使用QNetworkRequest,实现网络连接

    首先要在头文件中包含以下文件 include
  • java解析未知key json_Gson解析JSON中动态未知字段key的方法

    前面一篇文章我介绍了Gson的解析的基本方法 但我们在享受Gson解析的高度封装带来的便利时 有时可能会遇到一些特殊情况 比如json数据中的字段key是动态可变的时候 由于Gson是使用静态注解的方式来设置实体对象的 因此我们很难直接对返
  • 微信小程序开发日记(二)

    一 VSCode开发微信小程序配置 安装插件 minapp 安装插件wechat snippet 安装wxml插件 如何调试 调试遇到两个问题 第一 如何热更新 第二 如何看console 第三 新建页面 新建组件等操作还是微信IDE好一些
  • fetch用英语解释_fetch什么意思_fetch是什么意思中文翻译

    fetch表达的意思有很多种 那么你知道fetch做动词和名词分别都有哪些意思吗 下面学习啦小编为大家带来fetch的英语意思和例句 欢迎大家学习 fetch作动词的意思 取来 抵达 到达 卖得 fetch作名词的意思 拿取 拿来 诡计 风
  • 干预分析模型- China GDP

    干预分析模型 GDP预测 加载pandas matplotlib等包 处理时间序列 import pandas as pd import numpy as np import matplotlib pylab as plt matplotl
  • 谷歌浏览器Chrome和浏览器驱动webdriver的版本对应

    谷歌浏览器Chrome和浏览器驱动webdriver的版本对应 在搞懂这个之前 先来说明几个词 Chrome 浏览器 Selenium 是一个用于浏览器自动化测试的工具集 是一个完整的自动化测试框架 WebDriver 是Selenium的
  • 尚硅谷大数据技术之Flume

    第1章 概述 1 1 Flume定义 Flume是Cloudera提供的一个高可用的 高可靠的 分布式的海量日志采集 聚合和传输的系统 Flume基于流式架构 灵活简单 flume能保证数据的可靠性 但不能保证数据的重复性 1 2 Flum
  • Rides:基本操作与原理

    目录 redis是什么 谁在使用redis 使用redis客户端 redis数据结构 strings lists 集合set 有序集合 哈希 redis持久化 RDB AOF AOF重写 如何选择RDB和AOF 主从 用法 redis是什么
  • APP保活

    APP保活 前言 app保活 在Android中是一种流氓行为 一方面无端浪费用户手机电量 另一方面给用户一种很困惑的感觉 影响用户体验还有可能导致整个Android系统流畅性变差 所以Google官方一种不推荐该功能 也一直在阻止这方面功
  • 最细致的LayUI【前端框架】从入门到实战-快速搭建后台管理系统

    最细致的LayUI 前端框架 从入门到实战 快速搭建后台管理系统 LayUI学习思维导图 和 Bootstrap 有些相似 但该框架有个极大的好处就是定义了很多前后端交互的样式接口 如分页表格 只需在前端配置好接口 后端则按照定义好的接口规
  • 【干货】Android系统定制基础篇:第三部分(Android静默安装、Android支持usb打印机)

    1 Android静默安装 一些产品要求APP在升级时能够实现静默安装 而无需弹出安装界面让用户确认 这里提出两种实现方案 方案一 APP调用 pm 命令实现静默安装 此方案无须修改Android源码 但需要root权限 方案二 修改And
  • ESP32之 ESP-IDF + Clion 开发环境搭建(一)—— Windows版

    本文章 来自原创专栏 ESP32教学专栏 基于ESP IDF 讲解如何使用 ESP IDF 构建 ESP32 程序 发布文章并会持续为已发布文章添加新内容 每篇文章都经过了精打细磨 通过下方对话框进入专栏目录页 CSDN 请求进入目录 O
  • 基于matlab的图解粒度参数计算,基于MATLAB的图解粒度参数计算

    陶瓷材料 第26卷 第3期 2006年8月 热 带 地 理 TROPICALGEOGRAPHY Vol126 No13 Aug 2006 基于MATLAB的图解粒度参数计算 王 为 吴 正 华南师范大学地理系 广州510631 摘 要 粒度
  • Android res文件夹下资源定义及使用

    1 颜色 RGB ARGB RRGGBB AARRGGBB 颜色资源应该位于