1.动画
定义位置:xml/anima包下
常用属性:
alpha 渐变透明度动画效果
scale 渐变尺寸伸缩动画效果
fromXScale,fromYScale, 动画开始前X,Y的缩放,0.0为不显示, 1.0为正常大小
toXScale,toYScale, 动画最终缩放的倍数, 1.0为正常大小,大于1.0放大
pivotX, pivotY 动画起始位置,相对于屏幕的百分比,两个都为50%表示动画从屏幕中间开始
2.阴影效果
(1)生成bitmap
Bitmap.createBitmap(width,height,Config.ARGB_8888)//创建符合w h的32位位图
若要修改位图颜色,则对位图中的每一帧进行颜色赋值:
<pre>
public static final Bitmap createRGBImage(Bitmap bitmap,int color)
{ int bitmap_w=bitmap.getWidth()
int bitmap_h=bitmap.getHeight()
int[] arrayColor=new int[bitmap_w bitmap_h]
int count=0
for(int i=0i<bitmap_hi++){
for(int j=0j<bitmap_wj++){
int color1=bitmap.getPixel(j,i)//获取某个位值处的颜色
//暂时我只是要处理除了透明的颜色,改变其他的颜色
if(color1!=0){
}else{
color1=color
}
arrayColor[count]=color
count++
}
}
bitmap = Bitmap.createBitmap( arrayColor, bitmap_w, bitmap_h, Config.ARGB_4444 )
return bitmap
}
</pre>
(2)通过BitmapHelper对图片进行压缩
BitmapHelper.scaledBitmap(bitmap,压缩率值小于1);
(3)
若是直接将阴影和雪块平台一起切图,则会发生图片难以定位,及图片拉伸的问题
虽然可以通过 比例大法 解决,但是比较复杂
直接实现阴影似乎复杂度也比较高
可以将描边及阴影一起切图,然后 制作成 点九图,(见《Android Studio 制作点九图》) ,当做背景填充即可
设置阴影需要按照以下步骤:1、设置eleavation值;
2、添加一个背景或者outline。
可以在xml中通过定义一个背景来设置outline:
<TextView
android:id="@+id/myview"
...
android:elevation="2dp"
android:background="@drawable/myrect" />
<!-- res/drawable/myrect.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#42000000" />
<corners android:radius="5dp" />
</shape>
也可以通过代码来创建一个outline:
/* Get the size of the shape from resources. */
int shapeSize = getResources().getDimensionPixelSize(R.dimen.shape_size)
/* Create a circular outline. */
mOutlineCircle = new Outline()
mOutlineCircle.setRoundRect(0, 0, shapeSize, shapeSize, shapeSize / 2)
/* Create a rectangular outline. */
mOutlineRect = new Outline()
mOutlineRect.setRoundRect(0, 0, shapeSize, shapeSize, shapeSize / 10)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)