- 浏览: 221754 次
文章分类
最新评论
-
lmjmn456:
为什么我的TestHall里面看不到RomeA RomeB R ...
Android 通过反射启动未安装的APK中的Activity -
wangleyiang:
uyerp 写道这样的话,只能将插件的元素显示到Hall中。有 ...
Android 通过反射启动未安装的APK中的Activity -
uyerp:
这样的话,只能将插件的元素显示到Hall中。有什么办法能在不安 ...
Android 通过反射启动未安装的APK中的Activity -
wangleyiang:
提高文学修养 写道不好意思,有时间尝试一下,谢谢!有问题提出来 ...
Android 主题之主题文件夹 -
提高文学修养:
不好意思,有时间尝试一下,谢谢!
Android 主题之主题文件夹
原始地址:http://geniusvic.blog.hexun.com/56133580_d.html
一个 android 工程中,有各种类型的资源文件,大致可以分为以下几种:
1、 颜色 #RGB #ARGB #RRGGBB #AARRGGBB
颜色资源应该位于 <resourses></resourses> 标签下
路径 res/values/colors.xml 名字可以随意
定义 <color name=”cname”>value</color>
使用 Resourse.getValues.getColor
<? xml version = "1.0" encoding = "utf-8" ?> < resources > < color name = "white" > #FFFFFF </ color > < color name = "black" > #000000 </ color > </ resources >
2、 字串
字串资源应该位于 <resourses></resourses> 标签下
路径 res/values/strings.xml
定义 <String name=”sname”>value</String>
使用 Resourse.getValues.getString
<? xml version = "1.0" encoding = "utf-8" ?> < resources > < string name = "hello" > Hello World, ResrouseTestActivity! </ string > < string name = "app_name" > ResrouseTest </ string > </ resources >
3、 图片
图片资源一般使用 png 格式,使用其他格式 的会出现各种问题,貌似不支持 gif 格式的图片,可是使用 Movie 来播放 gif 格式的图片
路径 res/drawable
<? xml version = "1.0" encoding = "utf-8" ?> < resources > < drawable name = "solid_red" > #FF0000 </ drawable > </ resources >
可以直接存放图片也可以是 xml 等配置文件(一般 用于自定义组件)
使用 getDrawable
4、 图片的颜色
位于 res/values/my_drawable.xml 名字随意
定义用于填充一个组件的颜色值,即给 view 设置背景色。用法和 drawable 下的图片 一样,其实没多少意义,使用颜色定义就 ok 了,目前我是这样认为的,可能有更好的优点,不过我没发现罢了,嘿嘿, continue...
5、 单位资源
单位资源应该位于 <resourses></resourses> 标签下
<? 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 >
路径 res/values/dimen.xml 名字可以随意
使用和 String 、 color 类似
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、 动画
动画资源分为两种,一是实现图片的 translate 、 scale 、 rotate 、 alpha 四种变化。还可以设置动画的播 放特性;另一种是帧动画,逐帧播放设置的资源
先说一下第一种
Res/anim/filename.xml <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 .... 各个属性 /> <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文件夹是存放不进行编译加工的原生文件,即该文件夹里面的
文件不会像xml,java文件被预编译,可以存放一些图片,html,js, css等文件。在后面会介绍如何读取assets文件夹的资源! 目录
Directory
资源类型
Resource Types
res/anim/
XML
文件,它们被编译
进逐帧动画(
frame by frame animation
)或补间动画(
tweened animation
)对象
res/drawable/
.png
、
.9.png
、
.jpg
文件,它们被编译进以下的
Drawable
资源子
类型中:
要获得这种类型的一个资源,可以使用
Resource.getDrawable(id
)
为了获取资源类型,使用
mContext.getResources().getDrawable(R.drawable.imageId)
注意:
放在这里的图像资源可能会被
aapt
工具自动地进行无损压缩优化。比如,一个真彩色但并不需要
256
色的
PNG
可能会被转换为一个带调色板的
8
位
PNG
。这使得同等质量的图片占用更少的资源。所以我们得意识到这些放在该目录下的二进制图像在生成时
可能会发生变化。如果你想读取一个图像位流并转
换成一个位图
(bitmap)
,请把图像文件放在
res/raw/
目录下
,
这样可以避免被自动优化。
res/layout/
被编译为屏幕布局(或屏幕的一部分)的
XML
文件。
参见布局声明
(Declaring Layout)
res/values/
可以被编译成很多种类型的资源的
XML
文件。
注意
:
尽管这个文件夹里的文件可以任意命名,不过下面使一些比较典型的文件(文件命名的惯例是将元素类
型包含在该名称之中):
res/xml/
任意的
XML
文件,在运行时可以通过调用
Resources.getXML()
读取。
res/raw/
res/assets/
直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。
要使用这些资源,可以调用
Resources.openRawResource()
,参数是资源的
ID
,即
R.raw.somefilename
。assets下也可以放置任意文件,使用
Activity.this.getAssets().open("519.txt");打开
res文件夹里面的多个文件夹的各自介绍(来自网上的Android开发指南中文版内容):
不像其他的
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)
对象。
发表评论
-
避免OOM的一种方式
2014-03-11 09:30 882从网上看到一个避免OOM的方式,创建图片时,使用decod ... -
锁屏操作
2013-11-01 11:29 957从API Level 8开始,添加了一个新的类Device ... -
让Surface中绘制的内容响应用户的交互(状态变化)
2013-10-28 16:54 894被绘制的内容响应用户的交互,简单的看就是绘制内容的状态在用 ... -
在自定义的SurfaceView中绘制内容
2013-10-28 16:53 2867View和SurfaceView都可以用于绘制图形,但各有 ... -
在自定义的View中绘制内容
2013-10-28 10:52 949程序开发中,常常需要完成某一个特殊效果而绘制一些内容。 ... -
获取Bitmap大小
2013-10-08 17:59 1030Bitmap的操作常常会导致OOM(内存溢出)。 在处理B ... -
隐藏键盘的一种处理方法
2013-10-08 15:18 673通过调用系统服务来隐藏键盘的一种处理方法: // 获 ... -
通过系统调用裁剪图片
2013-10-08 15:05 1057分享一个Android源码查看网页:http://andr ... -
拍照,相册获取图片,系统裁剪图片
2013-09-30 12:41 1608获取相册图片的一种写法: Intent intent = ... -
转-Android开发环境搭建篇详尽的教程实例汇
2013-09-27 13:50 758原文:http://wiki.eoe.cn/page/An ... -
一种更改包名的方式-Linux命令
2013-09-27 09:54 1146在Android应用程序中更改包名,可以从文件的角度来解决 ... -
Android 通过反射启动未安装的APK中的Activity
2013-02-05 16:32 8879JAVA反射机制是在运行状态中,对于任意一个类,都能够知道 ... -
Android 判断程序是否是系统程序
2013-02-04 14:12 1662获得Android手机中安装程序是否是系统程序,比较好的方式 ... -
Android R
2013-02-01 16:18 1252import java.lang.reflect.Fiel ... -
Android 主题之主题文件夹
2013-02-01 14:22 1714从文件夹中获得主题资源,然后在程序中做相关调整,下面看一个 ... -
Android 主题之安装的APK主题文件
2013-01-31 17:25 1849Android中应用主题设置 ... -
『转』Android Intent常见应用
2013-01-30 16:46 1367转自:http://blog.csdn.net/spy19 ... -
Android px sp dip转化
2013-01-30 12:53 981一个关于px, sp, dip转化的代码: public ... -
Android 布局
2013-01-30 11:19 1322对Android提供的基本布局控件进行组合,可以实现一些相 ... -
Android 添加动画的标签栏
2013-01-29 23:10 1117运行效果图: 实现原理:标签布局好了以后,标签所在V ...
相关推荐
在Android开发中,资源文件(res)是存放各种不同类型资源的地方,这些资源包括动画、图片、布局、菜单以及字符串等。文档《android资源文件详解》对res文件夹下的anim、drawable、xml等资源文件进行了详细介绍。 ...
标题与描述中的关键词“android用于打开各种文件的intent”揭示了本文将探讨的主题:在Android平台上,如何使用Intent机制来启动应用程序以打开不同类型的文件。Intent是Android四大组件之一,它提供了一种方式来...
- 资源文件:如图片、布局文件等。 - 其他文件:例如原生库等。 - **安装流程**:用户可以从 Google Play 商店或其他第三方应用市场下载 `.apk` 文件,并通过 Android 设备上的应用管理器安装应用程序。 - **...
通过`Build` -> `Analyse APK`,我们可以查看APK的组成,包括各个资源文件的大小和类型。这有助于识别哪些资源在APK中并未被使用,从而确定是否需要删除。 2. Gradle插件 Android Studio的Gradle插件,如`Android ...
在Android系统中,文件资源管理是一项基础且重要的功能,它允许用户查看、组织、复制、删除以及分享存储在设备上的各种文件。本项目以AndEngine为基础,旨在构建一个高效易用的手机文件管理器,下面我们将详细探讨该...
在Android应用开发中,资源文件动态更新管理框架是至关重要的,它允许开发者在应用发布后仍然可以对资源进行更新,而无需用户重新安装应用。这种技术对于提供持续优化用户体验、修复错误、添加新功能或者更新内容如...
在Android操作系统中,打开各种类型文件涉及到文件的 MIME 类型识别和对应的文件处理程序。MIME(Multipurpose Internet Mail Extensions)类型是一种标准,用于定义不同类型的网络数据,如文本、图像、音频、视频等...
在Android应用开发中,资源文件的管理是至关重要的。这些资源包括图片、字符串、布局、颜色、动画等,它们使得应用程序具有丰富的用户界面和交互体验。然而,随着项目规模的扩大,资源文件的数量会迅速增长,手动...
Android xml资源文件中@、@android、@+以及问号是四种不同类型的资源引用方式,它们在Android应用程序中扮演着重要的角色。下面将对这四种类型的资源引用方式进行详细的解释。 一、@ 代表引用资源 @ 代表引用资源...
RAW资源文件是Android应用中的一种特殊类型的资源,通常用作音频、视频等原始数据。它们位于项目的res/raw目录下,可以通过`getResources().openRawResource()`方法获取。 3. **Android的文件操作**: Android...
综上所述,要在Android应用中实现将资源文件中的数据库复制到SD卡或内存,需要正确配置AssetManager,确定目标路径,复制文件,并处理好相关的权限问题。这个过程对于那些需要预加载数据库的应用至关重要,能有效...
在总结上述内容之后,可以看出Android资源文件系统是相当丰富和灵活的,它不仅可以帮助开发者组织和管理应用的各种资源,还可以通过这些资源来实现丰富的用户界面效果和动态交互体验。开发者在进行Android应用开发时...
Android提供了多种方法获取不同类型的文件目录: - `getFilesDir()`:返回应用的私有文件目录,只有该应用可以访问。 - `getExternalFilesDir(null)`:返回应用在SD卡上的私有文件目录,如果SD卡不可用,则返回内部...
在Android平台上,文件资源管理器是一个非常重要的工具,它允许用户查看、操作和管理设备上的文件和目录。这里我们关注的是"Android 文件资源管理器2.0"的源码,这是一个包含两个主要模块的实现:文件管理和任务管理...
在Android应用开发中,Assets和Raw...综上所述,Android开发中,Assets和Raw文件夹各有优势,选择使用哪个取决于具体的需求和资源类型。理解并熟练运用这两个目录,能够帮助开发者更好地组织和管理应用的非编译资源。
本文将深入探讨Android项目中常见的几种资源文件类型及其用途,这对于Android开发者的技能提升至关重要。 #### 资源文件夹概述 在Android项目的`res`目录下,包含了各种类型的资源文件夹,用于存储不同的资源。...
本示例项目“android 各种类型的头像实现”专注于利用SVG(Scalable Vector Graphics)技术来创建可自定义形状的头像视图。SVG是一种基于XML的矢量图像格式,它允许无限缩放而不会损失画质,非常适合在移动设备上...
本资源文件主要关注补间动画,这是一种通过改变对象属性(如位置、大小、透明度等)在一段时间内平滑过渡的动画效果。 补间动画的核心在于Android的`android.view.animation`包,它提供了多种动画类型,如...
本教程将探讨如何在Android中解析`.plist`文件,特别是那些包含图片信息的资源文件。 首先,我们要了解.plist文件的基本结构。`.plist`(Property List)是苹果系统中用来存储数据的一种文件格式,它可以存储字符串...
在Android应用开发过程中,我们常常需要下载各种类型的网络资源,比如图片、音乐、视频或文档等。为了提供更好的用户体验,开发者通常希望能够在下载前预知这些资源的大小,从而合理安排下载计划,避免不必要的流量...