我正在尝试使用存储在手机上的图像圈来绘制网格视图。相近
但我不想使用实体/渐变颜色来使用图像。相关代码是
查看绘制的内容
<ImageView
android:id="@+id/img_color_selected"
android:layout_width="35dp"
android:layout_height="35dp"
android:src="@drawable/ic_colorpicker_swatch_selected"
android:layout_centerInParent="true"
android:visibility="gone" />
在画布上绘图
@Override
public void draw(Canvas canvas) {
Bitmap bitmap = BitmapFactory.decodeResource(RaiseTheBarApplication.getInstance().getResources(), patternResource);
BitmapShader shader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
Paint paint = new Paint();
paint.setColorFilter(new LightingColorFilter(progressColor, 1));
paint.setShader(shader);
canvas.drawCircle(canvas.getWidth() / 2, canvas.getHeight() / 2, RaiseTheBarApplication.getInstance().getResources().getDimensionPixelSize(R.dimen.choose_color_radius), paint);
}
choose_color_radius是20dp
的GridView
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/rtb_dialog"
android:orientation="vertical">
<GridView
android:id="@+id/gv_color_choice"
android:layout_width="wrap_content"
android:layout_height="250dp"
android:columnWidth="65dp"
android:numColumns="auto_fit"/>
<com.lvl.xpbar.views.baseviews.AFGTextView
android:id="@+id/submit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="20dp"
android:text="@string/button_submit"
android:textSize="18dp"
android:gravity="center_horizontal"
android:background="@drawable/dialog_submit_background_selector"
android:paddingBottom="20dp"
android:layout_marginTop="5dp" />
如果我使用Canvas#drawBitmap它工作正常但我使用上面的逻辑我得到了
09-06 11:34:06.702 31659-31659 /? A / libc:致命信号11(SIGSEGV)位于0x797ba000(代码= 2),线程31659(com.lvl.xpbar)
感谢任何帮助
答案 0 :(得分:1)
感谢@ greywolf82,我通过使用
禁用此视图的硬件加速解决了这个问题setLayerType(LAYER_TYPE_SOFTWARE,null);