问题描述
- android如何实现模糊动画
-
** 我现在要做一个动画效果,就是一个textview慢慢从模糊到清晰,我在网上搜的资料都是讲图片变模糊的,不知道有没有大神做过类似的,能不能帮忙说一下思路,谢谢了!**
我现在的思路是拿到textview的bitmap使它模糊,不过好像没什么效果啊,哪位大神帮我看一下啊!
我的代码private void getBitmapFromView(){ thansun.getViewTreeObserver().addOnPreDrawListener(new OnPreDrawListener() { @Override public boolean onPreDraw() { thansun.getViewTreeObserver().removeOnPreDrawListener(this); thansun.buildDrawingCache(); bitmap=thansun.getDrawingCache(); blur(bitmap,thansun); return true; } }); } private void blur(Bitmap bitmap,TextView view){ Bitmap outBitmap=Bitmap.createBitmap(view.getWidth(), view.getHeight(), Config.ARGB_8888); Canvas canvas=new Canvas(outBitmap); canvas.translate(-view.getLeft(), -view.getTop()); canvas.drawBitmap(bitmap, 0, 0,null); RenderScript rs=RenderScript.create(getApplicationContext()); Allocation allOut=Allocation.createFromBitmap(rs, outBitmap); ScriptIntrinsicBlur blurScript=ScriptIntrinsicBlur.create(rs, allOut.getElement()); blurScript.setRadius(25.f); blurScript.setInput(allOut); blurScript.forEach(allOut); allOut.copyTo(outBitmap); bitmap.recycle(); //Bitmap b=fastblur(outBitmap,25); view.setText(""); view.setBackground(new BitmapDrawable(getResources(),bitmap)); rs.destroy(); }
thansun是我的textview
解决方案
你理解有误,界面展示的文字和图片其实都是可以用bitmap表示的,另外实现可以是这样:
使用handler或者AsyncTask,每N秒更新一次textview,其实就是每次都是一次静态固定半径高斯模糊,只不过每次的模糊半径不同
解决方案二:
1、像素的
http://www.apkbus.com/android-20763-1-32.html
2、截textview背景的
http://segmentfault.com/a/1190000000448785
时间: 2024-09-17 03:33:25