1.首先可以使用EasyGifAnimator,将gif文件打散
2.制作动画文件 res/anim/***_animator.xml
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false" > <item android:drawable="@drawable/lv_icon0" android:duration="100"/> <item android:drawable="@drawable/lv_icon1" android:duration="100"/> </animation-list>
3.布局文件
注意:android:background="@anim/donkey_animation"
<ImageView android:id="@+id/pull_to_refresh_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="30dip" android:layout_marginRight="20dip" android:visibility="gone" android:layout_gravity="center" android:gravity="center" android:background="@anim/donkey_animation" />
4.代码中播放
private void playAnimation() { Object ob = imageView.getBackground(); AnimationDrawable anim = (AnimationDrawable) ob; anim.start(); }
教程一:
http://blog.flashgen.com/gaming/general-gaming-articles/virtual-controllers-for-touch-based-devices-pt-1/
http://blog.flashgen.com/gaming/general-gaming-articles/virtual-controllers-for-touch-based-devices-pt-2/
教程二:
http://active.tutsplus.com/tutorials/mobile/creating-a-virtual-joystick-for-touch-devices/
320x480 (水平方向有320个像素点.垂直方向有480个像素点)
dpi 每英寸的像素数
density 每平方英寸的像素数
DPI是“dot per inch”的缩写。是指打印分辨率,表示每英寸长度内的像素点打印尺寸、图像大小与分辨率之间的关系
像素数: x=320(宽),y=240(高); 分辨率:300dpi。 是说一个图有长宽各有320个和240个不同颜色的点,每个点的大小为1/300英寸的正方形
分辨率 : 横竖像素点的个数(320(宽放了320个像素)*480(高放了480个像素) )
320*240 物理尺寸是 2英寸*1.5英寸
DPi = 320/2 或者 240/1.5 = 160 dpi
dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。
pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;
sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。由此,根据 google 的建议,TextView 的
字号最好使用 sp 做单位,而且查看TextView的源码可知 Android 默认使用 sp 作为字号单位。
px(像素):屏幕上的点。
in(英寸):长度单位。
mm(毫米):长度单位。
pt(磅):1/72英寸。
dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。
dip:与dp相同,多用于android/ophone示例中。
sp(与刻度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。
dp:一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1px
dip:等同于dp 1dip = 1px * density
当屏幕density=240时使用hdpi标签的资源
当屏幕density=160时,使用mdpi标签的资源 屏幕密度(densityDpi)为160,
当屏幕density=120时,使用ldpi标签的资源。
在每英寸160点的显示器上,1dp = 1px。
mBitmap.getWidth()*mBitmap.getHeight()
//4.0 1451 2560 //l 725 1280
//2.3 544 960 //l 1088 1920
//o=ban 363 640