Android自定義View之未讀訊息提示
阿新 • • 發佈:2019-01-05
一個輕量級的仿微信未讀訊息提示
大家好,我是接觸安卓不久的小菜鳥,今天花了一晚上封裝了一個類似微信未讀訊息提示的安卓控制元件。由於技術問題,所以功能不是很強大,沒有動畫,但是滿足基本需求還是可以的。下面是示例圖:
接下來給大家說一下怎樣使用這個未讀訊息提示。
第一步
在你的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) // 不可見
原始碼點選專案地址下載即可,可以進行二次封裝。
好了,以上就是全部介紹了,有什麼錯誤請大家指正。
後續會更新更加方便好用的版本,敬請期待。