Android Studio详解项目中的资源
•目录结构
•作用
所有以 drawable 开头的文件都是用来放图片的;
所有以 mipmap 开头的文件都是用来放应用图标的;
所有以 value 开头的文件夹都是用来放字符串、样式、颜色等配置的;
layout 文件夹用来放布局文件;
之所以有这么多 mipmap 开头的文件夹,其主要目的是为了让程序能够更好的兼容各种设备;
drawable 文件夹也是相同的道理;
虽然 Android 没有帮我们自动生成,但是我们应该自己创建 $drawable-hdpi$,$drawable-xhdpi$,$drawable-xxhdpi$ 等文件夹。
在制作程序的时候最好能够给同一张图片提供几个不同分辨率的版本,分别放在这些文件夹下;
然后当程序运行的时候,会自动根据当前运行的设备分辨率的高低选择加载相应文件夹下的图片。
当然这只是理想情况,更多的时候只提供一张图片,这张图片放到 $drawable-xxhdpi$ 文件夹下就好了。
•如何使用?
打开 res/values/strings.xml 文件,内容如下所示:
<resources>
<string name="app_name">Hello World</string>
</resources>在代码中通过 $R.string.app\_name$ 就可以获得该字符串的引用;
在 XML 中通过 $@string/app\_name$ 就可以获得该字符串的引用;
Android Studio详解项目中的资源的更多相关文章
- 1.3.5 详解项目中的资源——Android第一行代码(第二版)笔记
所有以drawable开头的文件夹都是用来存放图片的. 所有以mipmap开头的文件夹都是用来存放应用图标的 所有以values开头的文件夹都是用来存放字符串.样式.颜色等配置的, layout文件夹 ...
- eclipse项目转android studio详解
第一步:项目导入 向AS中导入项目的方法有两种(其实是一种). 方法一:是在eclipse中先导出为gradle(如图1),然后打开AS,找到项目中的gradle文件,直接导入. 方法二:直接在AS中 ...
- Eclipse导入到最新版Android Studio详解
说到使用AndroidStudio,除了新建的项目,我们都会面临的问题是原先Eclipse的代码该怎么导入到AndroidStudio中使用.这方面相关的资料还比较少,自己摸索了一下,总结出这篇博客, ...
- [原]Android Studio导入外部项目找不到对应的sdk解决办法
示例项目:JPushExample(349872) 打开项目的文件夹目录,找到:JPushExample(349872)\app\build.gradle打开,将里面的 compileSdkVersi ...
- 【转】Android菜单详解——理解android中的Menu--不错
原文网址:http://www.cnblogs.com/qingblog/archive/2012/06/08/2541709.html 前言 今天看了pro android 3中menu这一章,对A ...
- Android库项目中的资源ID冲突
1.前言 Android Studio对模块化开发提供的一个很有用的功能就是可以在主项目下新建库项目(Module),但是在使用库项目时却有一个问题就是资源ID冲突,因为编译时SDK会自动帮我们处理这 ...
- Android菜单详解(一)——理解android中的Menu
前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至 ...
- Android ActionBar详解
Android ActionBar详解 分类: Android2014-04-30 15:23 1094人阅读 评论(0) 收藏 举报 androidActionBar 目录(?)[+] 第4 ...
- Android签名详解(debug和release)
Android签名详解(debug和release) 1. 为什么要签名 1) 发送者的身份认证 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,以此保证签名不同的包 ...
随机推荐
- 如何使用 js 实现相似图片搜索
如何使用 js 实现相似图片搜索 以图搜图 https://www.google.com/imghp?hl=en https://www.google.com/imghp?hl=zh https:// ...
- OTA development
OTA development OTA update OTA Over the Air / 无线下载 https://en.wikipedia.org/wiki/Over-the-air_progra ...
- React vs Vue in 2020
React vs Vue in 2020 技术选型 React // UserProfile.jsx function UserProfile({id, showAvatar, onFollowCli ...
- auto open Chrome DevTools in the command line
auto open Chrome DevTools in the command line --auto-open-devtools-for-tabs # macOS $ /Applications/ ...
- VS Code & terminal & Canvas & DOM
VS Code & terminal & Canvas & DOM https://code.visualstudio.com/docs/editor/integrated-t ...
- C++算法代码——卡片游戏
题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?cid=1397&pid=2 题目描述 桌上有一叠牌,从第一张牌(即位于顶面的牌)开始 ...
- Flex实现复杂布局
巧妙利用边框(或者背景颜色)来进行布局. 填上内容和图片(由设计提供切图). 去掉边框. css .business-content-1 { display: flex; /* 弹性布局 */ mar ...
- Java自学第2期——注释、数据类型、运算符、方法
2.1.注释 注释用于说明某段代码的作用,某个类的用途,某个方法的功能,参数和返回值数据类型的意义等等: 注释非常非常非常重要,回顾代码时通过注释找回思路:团队沟通需要,让别人读懂你的代码,增加效率: ...
- SpringBoot 整合 hibernate 连接 Mysql 数据库
前一篇搭建了一个简易的 SpringBoot Web 项目,最重要的一步连接数据库执行增删改查命令! 经过了一天的摸爬滚打,终于成功返回数据! 因为原来项目使用的 SpringMVC + Hibern ...
- TKMybatis
TKMybatis与Mybatis-plus都是mybatis的扩展,有相同的地方,也有不同的地方. 1.导入坐标 <!--mybatis依赖--> <dependency> ...