Android App开机加载图片的设置
- 定义LogoView类继承View
public class LogoView extends View{
//定义一个 数组用来存储资源图片的id
int[]mBitmap=
{R.drawble.mmlogo1,R.drawble.mmlogo2,R.drawble.mmlogo3}
//定义一个Bitmap数组用来存储图片资源
Bitmap[]srcBitmap;
//定义一个计数器,用来统计标记加载的图片
int count;
//第一构造方法
public LogoView(Context context){
super(context);
}
//初始化图片资源
public void init(){
//定义Bitmap数组的长度,有几个Id值就把Bitmap数组的的数组长度定为几个
srcBitmap=new Bitmap[mBitmap.length];
//把id解析为图片放到Bitmap数组中
for(int i=0,i<srcBitmap.length,i++){
srcBitmap[i]=BitmapFactory.decodeResources(getResources(),mBitmap[i]);
//设置图片的最终大小并放在Bitmap数组中
srcBitmap[i]=Bitmap.createScaledBitmap(
srcBitmap,
Screen.dstWidth(Activity)getContext,
Screen.dstheigth(Activity)getContext,true);
}
}
//通过单线程设置加载图片
public void newThread(){
//创建线程
new Thread(new Runnable(){
@override
public void run(){
for(int i=0;i<mBitmap.length-1,i++){
//给主线程回馈绘制图片的信息,使其加载一张图片
postInvalidate();
try{
//设置没张图片加载的时间
Thread.sleep(2*1000);
}catch(InterruptedException e){
e.printStackTrace
}
//设置要绘制第几张图片
count++;
}
}
}).start;
}
//重写onDarw()方法
@Override
public void onDarw(Canvas canvas){
//加载图片
canvas.darwBitmap(srcBitmap[count],0,0,null);
}
}
- 定义用户屏幕宽,高的类Screen
public class Screen {
private Screen(){
}
//获取屏幕的宽
public static int getWidth(Activity activity){
DisplayMetrics metrics=new DisplayMetrics();
Display display=activity.WindowManager().getDefaultDisplay();
display.getMeterics(metrics);
return metrics.widthPixes;
}
//获取屏幕的高
public static int getWidth(Activity activity){
DisplayMetrics metrics=new DisplayMetrics();
Display display=activity.WindowManager().getDefaultDisplay();
display.getMeterics(metrics);
return metrics.heigrhPixes;
}
}