2015年1月7日時点では公式ドキュメントによるとAndroid Studioではv8 Support Library (RenderScriptの下位互換ライブラリー)はサポートされていないことになっていますが、実は使えるようになってました!
方法は下のように、android.defaultConfigブロックに1行付け加えるだけ。
android {
...
defaultConfig {
...
renderscriptSupportModeEnabled true
}
}
これでビルドすれば android.support.v8.renderscript パッケージが使えるようになります。
さくっと動作確認したい人のためのサンプル
Activity
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.support.v8.renderscript.Allocation;
import android.support.v8.renderscript.Element;
import android.support.v8.renderscript.RenderScript;
import android.support.v8.renderscript.ScriptIntrinsicBlur;
import android.view.View;
import android.widget.ImageView;
public class MyActivity extends Activity {
RenderScript rs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
rs = RenderScript.create(this);
}
public void process(View img) {
Bitmap bmp = ((BitmapDrawable) ((ImageView) img).getDrawable()).getBitmap();
Allocation alloc = Allocation.createFromBitmap(rs, bmp);
ScriptIntrinsicBlur blur = ScriptIntrinsicBlur.create(rs, Element.RGBA_8888(rs));
blur.setInput(alloc);
blur.forEach(alloc);
alloc.copyTo(bmp);
((ImageView) img).setImageBitmap(bmp);
}
}
res/layout/activity_my.xml
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:onClick="process"
android:layout_gravity="center" />