package com.example.tyxiong.myapplication;
import android.app.Activity;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
/*
*Android 源码分3类:java代码,xml代码 资源代码.
*
* android资源的好处:1 指定位置集中存放,便于查找.
* 资源类型2类:1 res/目录下,可通过资源清单R,访问资源. 2 assets/目录下,无法通过R.访问资源.;用AssetsManager访问
*
* res/目录下,不同资源存放不同目录
* .9目录:animator(属性动画) anim(补间动画) drawable color menu layout
* raw()大二进制数据如音频文件,也可放于assets目录下. xml任何原生资源. values
*
* 使用资源java代码中,4层 xml中3层 @包名:资源类名/资源名
* java中获得实际资源用资源总管2步: getResources() .getXXX()
*
* 位于/res/values目录下6元素 根元素resources 子元素 string int array color dimen
* 颜色值定义 #RGB #ARGB #RRGGBB #AARRGGBB
* 如定义颜色资源<color name="blue">#123</color> 5部分:标签头 name属性 资源名 资源值 标签结束
*
*
* 数组资源 其实包括3种子元素 array(普通数组资源) string-array integer-array ,其下面可有item子元素.
* 如
*<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="arr1"> 也是5部分
<item>@string/bn1</item>
<item>@string/bn2</item>
</string-array>
</resources>
获得实际资源 若为普通array;则用obtainType在Array() TypedArray对象的getXXX()可根据索引得普通array里的资源.
*
*
*/
public class MainActivity extends Activity {
TypedArray typedArray;
ImageView imageView;
private int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.imageView);
typedArray = getResources().obtainTypedArray(R.array.my_array);
}
public void stick(View view) {
imageView.setImageDrawable(typedArray.getDrawable(++i%typedArray.length()));
}
}
android资源概述 Array资源
最新推荐文章于 2022-02-25 09:29:00 发布