中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android中怎么通過自定義組件實現儀表計數盤

發布時間:2021-08-12 11:28:18 來源:億速云 閱讀:119 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關android中怎么通過自定義組件實現儀表計數盤,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

組件使用

//添加數據 var arrayList:ArrayList<String> = ArrayList() arrayList.add("0") arrayList.add("10") arrayList.add("20") arrayList.add("30") arrayList.add("40") arrayList.add("50") arrayList.add("較差") arrayList.add("中等") arrayList.add("良好") arrayList.add("優秀") arrayList.add("100") meter.setScaleArray(arrayList) //設置數據 //顏色 meter.getDataManager().ScaleTextColor = Color.BLUE  //底盤弧刻度文字顏色 meter.getDataManager().DashBoardColor = Color.BLUE  //底盤弧度顏色 meter.getDataManager().PointColor = Color.RED   //分數點顏色 meter.getDataManager().SourceTextColor = Color.RED  //分數顏色 meter.getDataManager().SourceCurveColor = Color.RED  //分數弧顏色 meter.getDataManager().CheckScaleTextColor = Color.BLACK //選中分數刻度顏色 //大小 dp2px(dp轉px) px2dp(px轉dp) meter.getDataManager().CheckScaleTextSize = meter.dp2Px(15f) //選中分數刻度文字大小 meter.getDataManager().ScaleTextSize = meter.dp2Px(10f)  //刻度文字大小 meter.getDataManager().SourceTextSize = meter.dp2Px(40f)  //分數文字大小 meter.getDataManager().PointSize = meter.dp2Px(5f)    //分數點半徑大小 meter.getDataManager().SourceCurveSize = meter.dp2Px(10f)  //分數弧寬度大小 meter.getDataManager().BoardCurveSize = meter.dp2Px(5f)  //底盤弧寬度大小 meter.getDataManager().SourceTextInterval = meter.dp2Px(20.5f) //分數離頂部的間隔大小 //其他設置 meter.getDataManager().Rate = 30 //分數弧動畫速率(30/s) meter.getDataManager().ShowSource = true //是否顯示分數 meter.getDataManager().SourceTextAlign = MeterView.SOURCE_CENTER //分數居中方式 SOURCE_CENTER(底盤居中) OURCE_START(底盤頂部) SOURCE_END (底盤底部)//meter.getDataManager().startAngle = -180f //底盤弧開始點的角度(起點為組件最右邊點,當等于-90時為組件中點)//meter.getDataManager().sweepAngle = 180f //底盤弧角度大小 meter.getDataManager().sourceShowType = MeterView.SOURCE_NUMBER //顯示的分數類型 SOURCE_NUMBER:數字(百分制) SOURCE_SCALETEXT:刻度文字 meter.getDataManager().meterDebug = false //打開底部矩形,方便調試和添加其他元素 //跑分 tv.text = "runSource(45)......" meter.runSource(45) //根據分數跑分(百分制,大于100則等于100)//meter.runIndex(5) //根據數據索引跑分 (不為-1,不大于數據大小)//meter.addIndex(2) //在當前基礎上增加兩個索引的分數//meter.subtractIndex(1) //在當前基礎上減少一個索引的分數//meter.addSource(20)//在當前基礎上增加20分//meter.subtractSource(20)//在當前基礎上減少20分 thread {   //支持異步線程直接調用  Thread.sleep(4000)  meter.addIndex(3)  runOnUiThread(Runnable { tv.text = "addIndex(3)......" })  Thread.sleep(4000)  meter.subtractIndex(1)  runOnUiThread(Runnable { tv.text = "subtractIndex(1)......" })  Thread.sleep(4000)  meter.addSource(20)  runOnUiThread(Runnable { tv.text = "addSource(20)......" })  Thread.sleep(4000)  meter.subtractSource(20)  runOnUiThread(Runnable { tv.text = "subtractSource(20)......" })  Thread.sleep(4000)  meter.runIndex(10)  runOnUiThread(Runnable { tv.text = "runIndex(10)......" }) } //分數改變監聽器 meter.setSourceChangeListener(object :MeterView.SourceChangeListener{  override fun CheckScaleTextChange(currentText: String) { //選中刻度文字改變   Log.e("currentScaleText"," currentScaleText $currentText")  }  override fun SourceChange(source: Int,currentScaleText:String) {  //分數改變   Log.e("meter","source $source currentScaleText $currentScaleText")  } })

xml屬性

app:DashBoardColor="#1C65CE" //底盤弧度顏色app:ScaleTextColor="#888585" //底盤弧刻度文字顏色app:SourceCurveColor="#09C0E5" //分數弧顏色app:CheckScaleTextColor="#000" //選中分數刻度顏色app:PointColor="#09C0E5" //分數點顏色app:SourceTextColor="#000" //分數顏色app:CheckScaleTextSize="18dp" //選中分數刻度文字大小app:SourceTextSize="30dp" //分數文字大小app:ScaleTextSize="14dp" //刻度文字大小app:BoardCurveSize="2dp" //底盤弧寬度大小app:SourceCurveSize="10dp" //分數弧寬度大小app:PointSize="8dp" //分數點半徑大小app:ScaleTextInterval="0dp" //刻度離頂部的間隔大小app:SourceTextInterval="0dp" //分數離頂部的間隔大小app:SourceTextAlign="start" //分數居中方式 center(底盤居中)start(底盤頂部)end (底盤底部)app:SourceShowType="number" //顯示的分數類型 number:數字(百分制) scaleText:刻度文字app:Rate="20" //分數弧動畫速率(20/s)app:StartAnglee="-180" //底盤弧開始點的角度(起點為組件最右邊點,當等于-90時為組件中點)app:SweepAnglee="320" //底盤弧角度大小app:ShowSource="true" //是否顯示分數,同下app:ShowScaleText="true"app:ShowCheckScaleText="true"app:ShowPoint="true"app:ShowSourceCurve="true"

上述就是小編為大家分享的android中怎么通過自定義組件實現儀表計數盤了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通山县| 湘潭县| 道孚县| 元阳县| 当雄县| 分宜县| 东丽区| 马尔康县| 兰考县| 萝北县| 恩平市| 吉林省| 祁连县| 通榆县| 三都| 东乌珠穆沁旗| 黄冈市| 丰原市| 安国市| 丽水市| 青州市| 罗田县| 九江市| 中江县| 子长县| 万州区| 潮安县| 南平市| 土默特右旗| 吉林市| 黄陵县| 云浮市| 长海县| 海口市| 双鸭山市| 安新县| 北川| 什邡市| 铁力市| 拉萨市| 永年县|