和你一起终身学习,这里是程序员 Android
本篇文章主要介绍 Android
开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:
- 多语言 String 资源
- 多屏幕 Image 资源
- 横竖屏 Layout 布局
- 不同版本SDK
- Array 数组资源
- Color 颜色资源
- Dimen 尺寸资源
- style样式 资源
- assert 文件夹下的原始资源
- raw 文件夹下的资源
- anim 文件夹下的资源
Android
中经常会使用资源文件来填充View
或者 实现app
相关的功能,本篇文章总结了Android
中常见的一些资源的使用方法。
1. 多语言 String 资源
String
主要用于存放系统字符串资源,字符串资源跟其他资源类似,也是在values
文件夹下。
Android
字符串资源支持多语言,使用方法如下:
命名规则
valuess-(ISO语言代码)
使用语法
1. 字符串资源Java类使用方法
Java使用方法如下:
R.string.
引用字符串资源
Java中 字符串资源获取方法:
tv_res = (TextView) findViewById(R.id.tv_res);
String mString=getResources().getString(R.string.hello_world);
tv_res.setText(mString);
2. 字符串资源XML中使用方法
使用方法如下:
@string/
引用字符串资源
XML
中 字符串资源获取方法:
3. 存储多语言翻译字符串
存放路径如下:
valuess-(ISO语言代码)/strings.xml
存储多语言字符串资源文件:
... ...
Hello world!
... ...
2. 多屏幕 Image 资源
Image
主要用于存放系统图片资源,图片资源跟其他资源类似,也是在res
文件夹下。
常用存放图片资源的文件夹如下:
1. 在XML 中使用图片资源
xml
中使用图片资源:
2. 在Java类中 使用图片资源
Java中使用图片资源 :
ImageView mImageView=(ImageView) findViewById(R.id.img_res_usb);
mImageView.setImageResource(R.drawable.ic_launcher);
3. 多屏幕 Layout 布局
由Array
主要用于存放系统布局资源,布局资源跟其他资源类似,也是在res
文件夹下。
于Andoid
设备屏幕大小不统一,因此Android
为适配多屏幕实现多布局。
固定Activity的显示方向:
4. 不同版本SDK支持
在AndroidManfest.xml中声明
android SDK版本支持:
Java 代码中SDK版本判断
SDK 版本判断:
//判断当前手机设备SDK 版本是否是在Android M 6.0 之上
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){
}else {
}
5. Array 数组资源
Array
主要用于存放系统数组资源,数组资源跟其他资源类似,也是在values
文件夹下。
xml 中声明数组资源如下:
- Iphone
- 华为
- 小米
- oppo
- vivo
- 锤子
1. xml 中使用方法如下:
在XML 中直接使用数组资源:
2. Java 中使用方法如下
Java 中使用字符串资源:
String[] mArray=getResources().getStringArray(R.array.fav_phone);
6. Color 颜色资源
Color
主要用于存放系统颜色资源,颜色资源跟其他资源类似,也是在values
文件夹下。
Colors.xml 中的颜色值
#A9A9A9
#000000
#d8d8d8
1. xml中使用资源文件的方法
xml 中使用Color 资源方法:
2. Java 中使用颜色资源的方法
- 使用自定义Color 资源
Java中颜色资源使用方法:
Button mButton=(Button) findViewById(R.id.btn_res_color);
mButton.setTextColor(getResources().getColor(R.color.black));
- 使用 系统Color 类中的原始资源
使用系统Color 类中的资源:
Button mButton=(Button) findViewById(R.id.btn_res_color);
// mButton.setTextColor(getResources().getColor(R.color.black));
mButton.setTextColor(Color.RED);
7. Dimen 尺寸资源
Dimen
主要用于规范化Android
尺寸,边距等资源。尺寸资源跟其他资源类似,也是在values
文件夹下。
1. xml中使用Dimen 资源文件的方法
xml 中使用Dimen 资源:
2. Java 中使用Dimen资源的方法
Java代码中使用Dimen资源:
Button mButton=(Button) findViewById(R.id.btn_res_color);
// mButton.setTextColor(getResources().getColor(R.color.black));
mButton.setTextColor(Color.RED);
mButton.setTextSize(getResources().getDimension(R.dimen.activity_horizontal_margin));
8. style样式 资源
style
主要是统一规范app
系统主题样式等资源。
style样式资源控制举例:
1.xml 下使用方法
2. Java 代码中使用方法
9. assert 文件夹下的原始资源
此文件夹为原始资源文件夹,文件下的内容不会被编译,此目录同src
及res
同级。
获取asset下文件字符串、位图:
public void ResAssetMethod(View view) {
String fileString = ReadStrFromFile("test.txt");
Toast.makeText(getApplicationContext(), "文件内容" + fileString,
Toast.LENGTH_LONG).show();
Bitmap btnBitmap = ReadImageFromAssetFile("img/ic_launcher.png");
ImageView img = (ImageView) findViewById(R.id.img_res_assert);
img.setImageBitmap(btnBitmap);
}
1. 获取asset下文件字符串
获取asset下文件字符串 方法:
/**
* @param string
*/
private String ReadStrFromFile(String filename) {
if (TextUtils.isEmpty(filename)) {
Toast.makeText(getApplicationContext(), "文件不能为空",
Toast.LENGTH_SHORT).show();
return null;
}
String assetString = null;
try {
InputStream inputStream = getAssets().open(filename);
byte[] bytes = new byte[inputStream.available()];
inputStream.read(bytes);
assetString = new String(bytes, "utf-8");
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
return assetString;
}
2. 获取asset下 图片
获取asset下 图片方法:
/**
* @param string
*/
private Bitmap ReadImageFromAssetFile(String filename) {
if (filename == null) {
return null;
}
Bitmap bitmap = null;
try {
InputStream inputStream = getAssets().open(filename);
bitmap = BitmapFactory.decodeStream(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
return bitmap;
}
10. raw 文件夹下的资源
raw
主要用于存放Android
资源。
播放Raw 文件夹下Music
raw 资源文件夹引用方法:
private MediaPlayer mMediaPlayer;
private boolean isplaying = false;
public void ResRAWMethod(View view) {
mMediaPlayer = MediaPlayer.create(ResourceActivity.this,
R.raw.bootaudio);
if (!isplaying) {
mMediaPlayer.start();// 开始播放
isplaying = true;
Toast.makeText(getApplicationContext(), "正在播放中", Toast.LENGTH_LONG)
.show();
}
mMediaPlayer.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
if (mMediaPlayer != null) {
try {
isplaying = false;
mMediaPlayer.stop();
mMediaPlayer.reset();
mMediaPlayer.release();
mMediaPlayer = null;
} catch (Exception e) {
}
}
}
});
}
11. anim 文件夹下的资源
Anim
主要用于存放Android
动画资源。
配置帧动画
anim 配置:
使用动画资源
anim 的使用:
友情推荐:
Android 干货分享
至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!