android动画及阴影效果

android动画及阴影效果,第1张

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)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11859752.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存