您的位置:首页 > 其它

安卓获取res下的资源文件:string字符串、color颜色、dimen尺寸、array数组、drawable图片和xml、anim/animator动画、raw媒体、assets资源

2017-10-19 18:46 936 查看
全栈工程师开发手册 (作者:栾鹏)

安卓教程全解

安卓获取内部资源并应用。

1、获取res/values文件夹下的string.xml的字符串、color.xml的颜色、dimen.xml的尺寸、array.xml中的字符串数组,array.xml中的整型数组。

public void getresource() {
Resources myResources = getResources();   //获取资源表实例

CharSequence mytext = myResources.getText(R.string.str1);   //获取字符串,string.xml
textView1.setText(mytext);

int mycolor= myResources.getColor(R.color.red);  //获取颜色,color.xml
textView1.setTextColor(mycolor);

float mydimen=myResources.getDimension(R.dimen.dimen2);  //获取尺寸,dimen.xml
textView1.setTextSize(mydimen);

String[] mystrarray=myResources.getStringArray(R.array.str_array);  //获取字符串数组,array.xml
Log.v("资源字符串数组", mystrarray.toString());

int[] myintarray=myResources.getIntArray(R.array.int_array);  //获取整型数组,array.xml
Log.v("资源整型数组", myintarray.toString());

}


2、获取系统字符串、系统动画函数

//系统资源的使用
public void get_system_resource() {
CharSequence mytext = getString(android.R.string.httpErrorBadUrl);   //获取字符串
Log.v("系统字符串", mytext.toString());
}


3、获取drawable文件夹下的图片和xml

public void getpic()
{
Resources myResources = getResources();
Drawable myDrawable = myResources.getDrawable(R.drawable.img1);   //获取drawable文件夹下的图像,
imageView2.setBackgroundDrawable(myDrawable);   //设置为背景

imageView2.setBackgroundResource(R.drawable.img1);   //将上面两步合成一步

Drawable myDrawable1 = myResources.getDrawable(R.drawable.img0);   //获取drawable文件夹下图像或xml
imageView2.setImageDrawable(myDrawable1);   //设置为显示图片,在背景层之上

imageView2.setImageResource(R.drawable.img0); //将上面两步合成一步
}


4、获取anim文件夹下的视图动画、获取animator文件夹下的属性动画、drawable文件夹下的逐帧动画。

public void getanim()
{
Animation myAnimation2=AnimationUtils.loadAnimation(this, R.anim.anim2);  //获取视图动画,anim文件夹下
textView1.setAnimation(myAnimation2);   //应用视图动画,自动启动

ObjectAnimator myAnimator1 = (ObjectAnimator)AnimatorInflater.loadAnimator(this, R.animator.anim1);  //获取属性动画,animator文件夹下
myAnimator1.setTarget(button1);  //动画绑定控件
myAnimator1.start();   //启动属性动画

imageView1.setBackgroundResource(R.drawable.anim3);   //获取逐帧动画,drawable文件夹下,动画绑定控件
AnimationDrawable myanimation3 = (AnimationDrawable) imageView1.getBackground();    //获取对动画的引用
myanimation3.start();  //启动逐帧动画
}


5、获取raw文件夹下的静态媒体文件

public void getraw()
{
Resources myResources = getResources();
InputStream myfile=myResources.openRawResource(R.raw.music1);   //文件形式读取

//音乐文件
MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.music1);   //创建音乐媒体
mediaPlayer.start();  //启动音乐播放

//视频文件(3gp,wmv,mp4),通过uri
String uri = "android.resource://" + getPackageName() + "/" + R.raw.test;
videoView1.setVideoURI(Uri.parse(uri));
videoView1.start();
}


6、获取assets文件夹下的文件

public void getassets() {
try {
AssetManager assetManager = this.getAssets();
String [] files = assetManager.list(""); //遍历assets根目录

//图片文件
InputStream is = assetManager.open("img1.jpg");   //获取文件流
Bitmap image = BitmapFactory.decodeStream(is);   //将图片文件转化为图片
is.close();
//文本文件
is = assetManager.open("test.txt");   //获取文件流
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
String text = new String(buffer, "utf-8");
Log.v("assets资源", text);
//音乐文件
MediaPlayer player = new MediaPlayer();
AssetFileDescriptor fileDescriptor = assetManager.openFd("music1.mp3");
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
player.setDataSource(fileDescriptor.getFileDescriptor(),fileDescriptor.getStartOffset(),fileDescriptor.getLength());
player.prepare();
player.start();

} catch (Exception e) {
e.printStackTrace();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐