我正在尝试模糊我的图像,并使用RenderScript在RelativeLayout的背景上显示模糊,应用程序在模拟器中工作,但手机中的应用程序不断崩溃,出现此错误:
08-05 22:21:36.543:E/RenderScript_jni(11549):无GC方法08-05 22:21:36.553:D/dalvikvm(11549):在/system/lib/libRSSupport.so 0x41803ab8中找不到JNI_OnLoad,跳过init 08-05 22:21:36.557:E/dalvikvm(11549):错误:找不到本地方法08-05 22:21:36.557:E/dalvikvm(11549):请求:Landroid/support/v8/renderscript /RenderScript; ._nInit :() V 08-05 22:21:36.558:E/JNIHelp(11549):RegisterNatives因'android/support/v8/renderscript/RenderScript'失败,中止08-05 22:21:36.558: A/libc(11549):0xdeadbaad(代码= 1),线程11549(m.example.login)的致命信号11(SIGSEGV)
这是我在单独的类上的模糊代码:
import android.content.Context;
import android.graphics.Bitmap;
import android.support.v8.renderscript.*;
public class Blur {
public static Bitmap blurBitmap(Context context, Bitmap src) {
Bitmap outBitmap = src.copy(src.getConfig(), true);
final RenderScript rs = RenderScript.create(context);
final Allocation input = Allocation.createFromBitmap(rs, src);
final Allocation output = Allocation.createFromBitmap(rs, outBitmap);
final ScriptIntrinsicBlur script =
ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
script.setRadius(25f);
script.setInput(input);
script.forEach(output);
output.copyTo(outBitmap);
rs.destroy();
return outBitmap;
}
}
Run Code Online (Sandbox Code Playgroud)
这里是MainActivity中的ny代码(我从图库中获取位图):
Uri selectedImageUri = data.getData();
Blur blur …Run Code Online (Sandbox Code Playgroud) 我想在单击特定组时更改组上的图像。我创建了自己的自定义基本适配器来扩充可扩展列表。在里面getGroupView我有以下代码来更改扩展组上的图像。但是在扩展时,图像在未扩展的组中发生变化。
有什么解决办法吗?
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
ImageView categoryImage = (ImageView)
convertView.findViewById(R.id.menu_category_image);
category.setText(subItems.get(groupPosition).getCategoryName());
if(isExpanded) {
categoryImage.setImageResource(R.drawable.dn_arrow);
} else
categoryImage.setImageResource(R.drawable.right_arrow);
return convertView;
}
Run Code Online (Sandbox Code Playgroud)