您的位置:首页 > 移动开发 > Android开发

图片布局在android中资源文件夹中添加一个新的图片资源

2013-05-22 21:12 531 查看
文章结束给大家来个程序员笑话:[M]

刚刚看了一下一个帧布局的简略Android示例,纠结了半天不知道如何将图片加到resource中的drawable中去。
比如在一个TestDemo的Res/drawable文件夹中,新添加一张图片资源要如何添加。

我直接将图片复制到bin\res\drawable-hdpi或者bin\res\drawable-mdpi中去,然后在eclipse中刷新图片仍然不表现。

上网找到了关于加载图片资源的问题解决办法:

直接拷贝须要添加的图片资源,然后在Res/drawable文件夹 右键点击 选择“粘贴”即可把图片拷贝进去。

上面是一个简略的帧布局Android应用实例,实现一只小鸟飞行的动画效果,参考了《谎话企业级Android应用开发实战》15.2.5帧布局(FrameLayout) P110-113页。代码如下:

package com.ccf.birdframe;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.view.Menu;
import android.view.View;
import android.widget.FrameLayout;

public class BirdActivity extends Activity {
FrameLayout frame = null;
private boolean  flag = true;
//由该类两个方法间的循环调用,实现界面不断更新
class MyHandler extends Handler{
int i = 0;
public void handleMessage(Message msg) {
i++;
//总共7幅图,顺次表现
show(i % 7);
//调用sleep函数
sleep(50);
}
public void sleep(long delayMillis) {
//判断是不是继续飞行
if(flag) {
//实质上是调用了一次handleMessage
sendMessageDelayed(obtainMessage(0), delayMillis);
}
}
}

//该方法是被调用以更新帧布局的前景图片
void show(int j) {
//获取七张图片
Drawable mybird1 = getResources().getDrawable(R.drawable.mybird1);
Drawable mybird2 = getResources().getDrawable(R.drawable.mybird2);
Drawable mybird3 = getResources().getDrawable(R.drawable.mybird3);
Drawable mybird4 = getResources().getDrawable(R.drawable.mybird4);
Drawable mybird5 = getResources().getDrawable(R.drawable.mybird5);
Drawable mybird6 = getResources().getDrawable(R.drawable.mybird6);
Drawable mybird7 = getResources().getDrawable(R.drawable.mybird7);
//不同的情况,设置不同的前景
switch(j) {
case 0:
frame.setForeground(mybird1);
break;
case 1:
frame.setForeground(mybird2);
break;
case 2:
frame.setForeground(mybird3);
break;
case 3:
frame.setForeground(mybird4);
break;
case 4:
frame.setForeground(mybird5);
break;
case 5:
frame.setForeground(mybird6);
break;
case 6:
frame.setForeground(mybird7);
break;
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bird);
frame = (FrameLayout)findViewById(R.id.frame);
//创建一个Handler子类对象,要调用其方法
final MyHandler myHandler = new MyHandler();
myHandler.sleep(50);
//为frame设置单击事件,当其被击中时,在飞行于暂停之间切换
frame.setOnClickListener(new View.OnClickListener()  {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
flag = !flag;
myHandler.sleep(50);
}
});
}
}

每日一道理

这浓浓的母爱使我深深地认识到:即使你是一只矫健的雄鹰,也永远飞不出母爱的长空;即使你是一条扬帆行驶的快船,也永远驶不出母爱的长河!在人生的路上不管我们已走过多远,还要走多远,我们都要经过母亲精心营造的那座桥!

七张图片如下:

mybird1 mybird2 mybird3 mybird4









mybird5 mybird6 mybird7







文章结束给大家分享下程序员的一些笑话语录:

 一边用着越狱的ip,一边拜乔帮主的果粉自以为是果粉,其实在乔帮主的眼里是不折不扣的叛徒。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐