Android自定義View之未讀消息提示

一個輕量級的仿微信未讀消息提示

大家好,我是接觸安卓不久的小菜鳥,今天花了一晚上封裝了一個類似微信未讀消息提示的安卓控件。由於技術問題,所以功能不是很強大,沒有動畫,但是滿足基本需求還是可以的。下面是示例圖:

在這裏插入圖片描述

接下來給大家說一下怎樣使用這個未讀消息提示。

第一步

在你的build.gradle文件下加入 maven {url ‘https://jitpack.io’}

allprojects {
	repositories {
		google()
		jcenter()
		maven {url "https://jitpack.io"}
	}
}

注意:一定是要在allprojects下加入 maven {url ‘https://jitpack.io’},如果在builgsript下加則會構建失敗。

第二步

在dependencies下加入 implementation ‘com.github.EHENJOOM:RedSpot:1.0.2’

implementation 'com.github.EHENJOOM:RedSpot:1.0.2'

第三步

直接在你的xml佈局文件裏使用RedSpot控件就可以了

<com.ehenjoom.redspot.RedSpot
    android:layout_width="20dp"
    android:layout_height="20dp" />

一般寬高設置成20dp左右大小比較合適。
當然,你也可以在佈局文件裏使用我封裝好的屬性,但是要先加入這句:

xmlns:app="http://schemas.android.com/apk/res-auto"

接着就可以使用定義好的屬性了:

app:textSize="50"
app:textColor="@color/white"
app:backgroundColor="@color/red"
app:text="99+"

寬高爲30dp時,textSize爲50比較合適;寬高爲20dp時,textSize爲25比較合適。
字體顏色默認爲白色,背景顏色默認爲紅色。
你也可以在java代碼裏設置這些屬性:

RedSpot redSpot=findViewById(R.id.myRedSpot);
redSpot.setText(12)
       .setTextColor("#000000")   // 白色
       .setTextSize(50)
       .setBackColor("#ff0000");  // 紅色

另外,讓這些小紅圈消失的方法也很簡單:

redSpot.setVisibility(View.VISIBLE)    // 可見
redSpot.setVisibility(View.INVISIBLE)  // 不可見

源碼點擊項目地址下載即可,可以進行二次封裝。

好了,以上就是全部介紹了,有什麼錯誤請大家指正。

後續會更新更加方便好用的版本,敬請期待。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章