Android 背景动画
来源:互联网 发布:linux 查看网络日志 编辑:程序博客网 时间:2024/06/06 03:44
项目要实现背景动画,就是背景图片比屏幕大,然后通过动画实现背景图片的上下左右循环移动,用到很多方法,下面是我认为效果最好的一种:
代码:
public class Draw extends View implements Runnable{
private Bitmap bmp;
private int left = 0;
private int top = 0;
private Handler handler;
private int dx = 1;
private int dy = 1;
public static boolean isRunning = true;
private boolean mark=true;
public Draw(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public Draw(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}
public Draw(Context context, AttributeSet attrs) {
super(context, attrs);
bmp = BitmapFactory.decodeResource(getResources(), R.drawable.homeback);
handler = new Handler();
new Thread(this).start();
// TODO Auto-generated constructor stub
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
canvas.drawBitmap(bmp, left, top, null);
}
public void run() {
// TODO Auto-generated method stub
while (isRunning) {
if (left > (getWidth() - bmp.getWidth()+5) && mark) {
left = left - dx;
} else if (top > (getHeight() - bmp.getHeight()+5) && mark) {
top = top - dy;
if (top <= (getHeight() - bmp.getHeight()+5)){
mark = false;
}
} else if (left <= 0 && !mark) {
left = left + dx;
} else if (top <=0 && !mark) {
top = top + dy;
if (top >= 0)
mark = true;
}
handler.post(new Runnable() {
public void run() {
// TODO Auto-generated method stub
invalidate();
}
});
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
注释:通过子线程实现图片坐标的变化
在xml将自定义的View写上就可以了:
<com.microimage.view.Draw
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
- Android 背景动画
- Android 背景动画
- Android动画背景自动播放
- Android-实现背景渐变动画
- Android 动画、背景选择器、透明度
- Android-利用动画实现背景逐渐变暗
- Android 动画效果弹出PopupWindow,同时屏幕背景变暗
- 【Android开发】动画弹出PopupWindow并使背景变暗
- Android 自定义View背景动画 流程简读 <2>
- Android view背景动态改变带简单淡入淡出动画
- Android中使用Java代码动画改变背景颜色
- Android动画之Activity,View背景的3D缩小
- android资源文件的使用(背景选择器,动画等)
- 登录的背景动画
- 修改升级背景动画
- canvas背景动画
- jQuery 背景定位动画插件
- ps gif动画设置背景
- windows 7搭建python+django开发环境
- Construct Binary Tree from Inorder and Postorder Traversal
- CDialogBar的创建和使用
- hdu 5009 Paint Pearls (动态规划)
- python模块——logging(日志管理)
- Android 背景动画
- Channel Allocation(dfs)
- Flash Media Server直播时声音断续的问题
- 无聊写排序之 ----基数排序(RadixSort)
- poj2230Watchcow 欧拉回路
- atl开发ActiveX控件 转载保留
- 跨域解决方案之二-->CORS解决跨域
- _I、 __O 、__IO volatile是什么?
- visualvm监控jvm及远程jvm监控方法