跳到主要內容

發表文章

目前顯示的是 7月, 2018的文章

drawployline with multi color google map

because you can't add polylne with different color in loop, but you can  draw a same color line in one block, that is efficiency method. // 畫軌跡 private fun drawMapPolyLine ( localDatas : List < AsmDataModel > ) { mMap . clear () if ( localDatas . isNotEmpty () && localDatas . size >= 2 ) { var rectOptions = PolylineOptions () var _rangeID = judgePolyLineColorRange ( localDatas [ 0 ]) // 取第一筆資料的顏色 Range localDatas . forEachIndexed { index , asmDataModel -> if ( index < localDatas . size - 1 ) { // 因為設定經緯度會用下一筆,所以大小要限制好 val newRangeID = judgePolyLineColorRange ( asmDataModel ) // 每次都判斷新值的顏色 range if (_rangeID != newRangeID) { // 如果不一樣 mMap . addPolyline (rectOptions . color (_rangeID)) // 就要開始畫舊 range 的顏色 _rangeID = newRangeID // 然後把舊 range 換掉 rectOptions = PolylineOptions () //Polyline 實體重設 } // 繼續疊加新的上去 ...

HorizontalScrollView 的坑

if (( view_Parent == null ) && ( parent != null )) view_Parent = parent as HorizontalScrollView if ( view_Parent != null ) { minimumWidth = iContentWidth + view_Parent !!. measuredWidth iItemPerPage = ( view_Parent !!. measuredWidth / fItemWidth ) . toInt () iItemOffscreen = iItemPerPage / 2 fHalfPageWidth = view_Parent !!. measuredWidth . toFloat () / 2 UpdateCurrentIndex ( _bRedraw ) } getmeasureWidth 會拿到0 後來先硬寫才可以 val displayMetrics = DisplayMetrics() (context as Activity).windowManager.defaultDisplay.getMetrics(displayMetrics) val width = displayMetrics.widthPixels if (( view_Parent == null ) && ( parent != null )) view_Parent = parent as HorizontalScrollView if ( view_Parent != null ) { val displayMetrics = DisplayMetrics () ( context as Activity ) . windowManager . defaultDisplay . getMetrics (displayMetrics) val width = displayMetrics . widthPixels minimumWidth = iContentWidth + width iItemPerPage =...

android java 小數點的坑

如果temp  = 12.5                         val newTemp = "%.1f".format(Tempvalue) 原本的寫法是這樣 在法語區 將newTemp.toFloat() 後會掛,因為法語地區的小數點是 , 逗號 所以沒法轉成 12.5  會變成 12,5 後來的解法 將拿到的數字硬轉成 12.5  其他就不管了 val newTemp = "%.1f" . format ( Locale . US , Tempvalue)