程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 效果-android如何實現模糊動畫

效果-android如何實現模糊動畫

編輯:編程綜合問答
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,其實就是每次都是一次靜態固定半徑高斯模糊,只不過每次的模糊半徑不同

backfirecs
backfirecs
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved