你有punchline嗎听盖?
最近項(xiàng)目需要做評(píng)價(jià)控件胀溺,就花了點(diǎn)時(shí)間寫了寫裂七,只完成了我項(xiàng)目的基本要求,還有很多可以自己擴(kuò)展的月幌,很簡(jiǎn)單的碍讯,就可以自己實(shí)現(xiàn)了
自定義參數(shù)
starImageSize | 單個(gè)star的大小 |
---|---|
isClickable | 點(diǎn)擊狀態(tài) |
showFillStarcount | 設(shè)置顯示黃色star的數(shù)量 |
starEmptyDrawable | 設(shè)置顯示灰色star的圖片 |
starFillDrawable | 設(shè)置顯示黃色star的圖片 |
OnRatingListener | 點(diǎn)擊星星監(jiān)聽 |
setTextList | 設(shè)置滿意度文案 |
fun setTextList(textList: ArrayList<String>) {
val starLL = LinearLayout(context).apply {
orientation = LinearLayout.HORIZONTAL
ViewGroup.LayoutParams(WRAP_CONTENT, WRAP_CONTENT)
}
val viewGrouplp = LinearLayout.LayoutParams(MATCH_PARENT, WRAP_CONTENT).apply {
setMargins(0, 20, 0, 20)
}
//初始化設(shè)置黃色的star個(gè)數(shù),怎么把下面的文字也同步到扯躺,不通過后面的setlist的操作
//解決方法捉兴,看了tablayout的源碼,發(fā)現(xiàn)是addtab 后設(shè)置 具體統(tǒng)一數(shù)據(jù)
tv = TextView(context).apply {
layoutParams = viewGrouplp
gravity = Gravity.CENTER
textSize = 16f
setTextColor(ContextCompat.getColor(context, R.color.color_ffcf4b))
text = textList[showFillStarcount - 1]
}
for (i in 0 until starCount) {
if (i < showFillStarcount) { //設(shè)置初始化黃色star個(gè)數(shù)
starLL.addView(getStarImageView(context, true, starLL))
} else {
starLL.addView(getStarImageView(context, false, starLL))
}
}
addView(starLL)
addView(tv)
mTextList = textList
}
項(xiàng)目地址是這個(gè)录语,大家有興趣的可以看看倍啥,作為安卓小開發(fā),自定義View還是要會(huì)的澎埠,后續(xù)還會(huì)有更多的自定義View分享給大家
work life balance