Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class BackgroundWithShadowDrawable(context: Context) : Drawable() {
- private val paint = Paint()
- private var pointer = BitmapFactory.decodeResource(context.resources, R.drawable.banner)
- private val margin: Float = context.resources.getDimension(R.dimen.balance_my_purchases_margin)
- private val bottomMargin: Float = context.resources.getDimension(R.dimen.notification_margin)
- private val cornerRadius: Float = context.resources.getDimension(R.dimen.notification_corner_radius)
- init {
- paint.apply { setARGB(255, 255, 255, 255); setShadowLayer(margin, 0f, 0f, Color.parseColor("#4c000000")); }
- val matrix = Matrix()
- matrix.postRotate(180f)
- pointer = Bitmap.createBitmap(pointer, 0, 0, pointer.width, pointer.height, matrix, true)
- }
- override fun setAlpha(alpha: Int) {
- paint.alpha = alpha
- }
- override fun getOpacity(): Int {
- return PixelFormat.TRANSLUCENT
- }
- override fun setColorFilter(colorFilter: ColorFilter?) {
- paint.colorFilter = colorFilter
- }
- override fun draw(canvas: Canvas?) {
- canvas?.drawRoundRect(RectF(margin, margin / 2, bounds.width() - margin, bounds.height() - bottomMargin), cornerRadius, cornerRadius, paint)
- canvas?.drawBitmap(pointer, ((bounds.width() / 2) - bottomMargin * 1.5f), bounds.height() - bottomMargin,
- Paint().apply {
- setARGB(255, 255, 255, 255)
- setShadowLayer(margin * 3, 0f, 0f, Color.BLACK)
- })
- }
- }
Add Comment
Please, Sign In to add comment