From a3b5b647e2651c9768a4056852aff36074590e94 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Mon, 19 Jun 2017 17:08:15 -0700 Subject: Created notification badges --- .../com/pitchedapps/frost/views/BadgedIcon.kt | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 app/src/main/kotlin/com/pitchedapps/frost/views/BadgedIcon.kt (limited to 'app/src/main/kotlin/com/pitchedapps/frost/views') diff --git a/app/src/main/kotlin/com/pitchedapps/frost/views/BadgedIcon.kt b/app/src/main/kotlin/com/pitchedapps/frost/views/BadgedIcon.kt new file mode 100644 index 00000000..bc932480 --- /dev/null +++ b/app/src/main/kotlin/com/pitchedapps/frost/views/BadgedIcon.kt @@ -0,0 +1,55 @@ +package com.pitchedapps.frost.views + +import android.content.Context +import android.graphics.drawable.GradientDrawable +import android.support.constraint.ConstraintLayout +import android.util.AttributeSet +import android.widget.ImageView +import android.widget.TextView +import ca.allanwang.kau.utils.* +import com.mikepenz.iconics.typeface.IIcon +import com.pitchedapps.frost.R +import com.pitchedapps.frost.utils.Prefs + + +/** + * Created by Allan Wang on 2017-06-19. + */ +class BadgedIcon @JvmOverloads constructor( + context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 +) : ConstraintLayout(context, attrs, defStyleAttr) { + + val badgeTextView: TextView by bindView(R.id.badge_text) + val badgeImage: ImageView by bindView(R.id.badge_image) + + init { + inflate(context, R.layout.view_badged_icon, this) + val badgeColor = Prefs.headerColor.withAlpha(255).colorToForeground(0.1f) + val badgeBackground = GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP, intArrayOf(badgeColor, badgeColor)) + badgeBackground.cornerRadius = 13.dpToPx.toFloat() + badgeTextView.background = badgeBackground + badgeTextView.setTextColor(Prefs.iconColor) + } + + + var iicon: IIcon? = null + get() = field + set(value) { + field = value + badgeImage.setImageDrawable(value?.toDrawable(context, color = Prefs.iconColor)) + } + + fun setAllAlpha(alpha: Float) { + //badgeTextView.setTextColor(Prefs.textColor.withAlpha(alpha.toInt())) + badgeImage.drawable.alpha = alpha.toInt() + } + + var badgeText: String? + get() = badgeTextView.text.toString() + set(value) { + badgeTextView.text = value + if (value != null && value != "0") badgeTextView.visible() + else badgeTextView.gone() + } + +} \ No newline at end of file -- cgit v1.2.3