//kotlin
val bitmapOneBg = BitmapFactory.decodeResource(resources, R.drawable.image)
val paintImage = Paint()
paintImage.shader = BitmapShader(bitmapOneBg, TileMode.REPEAT, TileMode.REPEAT)
//canvas?.drawRect(rect,paintImage) //draw平铺的图
canvas?.drawRoundRect(rect, 20f, 20f, paintImage) // 切圆角并平铺
以上!Android BitmapShader/Paint drawBitmap/drawRect 切圆角、平铺
记录一个Bug,查了一天:
TextView 的背景图进行平铺并切圆角:出现背景平铺的不彻底,总会小一块。
val content = " " + String.format(context.getString(R.string.topic_name_hint), it.topicName) + " "
val superTopicSpannableStr = SpannableStringBuilder(content)
textView?.text = superTopicSpannableStr
textView?.movementMethod = LinkMovementMethod.getInstance()
superTopicSpannableStr.setSpan(backgroundSpan, 0, content.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE) //Span 必须在setText后面,否则会出现背景被View小&#x