字体选择 自定义view+1
This commit is contained in:
		
							parent
							
								
									70e3aa1290
								
							
						
					
					
						commit
						35481519c5
					
				|  | @ -14,12 +14,12 @@ class FontSetView @JvmOverloads constructor( | |||
| ) : LinearLayout(context, attrs, defStyleAttr) { | ||||
| 
 | ||||
|     companion object { | ||||
|         private var GAP = 1 | ||||
|         private var GAP = 2 | ||||
|     } | ||||
| 
 | ||||
|     private var mBinding: LayoutFontSetViewBinding | ||||
| 
 | ||||
|     private var mFontValue = 20 | ||||
|     private var mFontValue = 16  // 12, 14, 16, 18, 20 | ||||
| 
 | ||||
|     init { | ||||
|         mBinding = LayoutFontSetViewBinding.inflate(LayoutInflater.from(context), this, true) | ||||
|  | @ -34,13 +34,35 @@ class FontSetView @JvmOverloads constructor( | |||
|             ivFontPlus.setOnClickListener { | ||||
|                 mFontValue -= GAP | ||||
|                 tvFontValue.text = mFontValue.toString() | ||||
|                 levelSeekbar.setLevel((mFontValue - 16)/GAP) | ||||
|             } | ||||
| 
 | ||||
|             ivFontAdd.setOnClickListener { | ||||
|                 mFontValue += GAP | ||||
|                 tvFontValue.text = mFontValue.toString() | ||||
|                 levelSeekbar.setLevel((mFontValue - 16)/GAP) | ||||
|             } | ||||
| 
 | ||||
|             levelSeekbar.setOnLevelChangeListener(object : LevelSeekBar.OnLevelChangeListener { | ||||
|                 override fun onLevelChanged( | ||||
|                     seekBar: LevelSeekBar, | ||||
|                     level: Int, | ||||
|                     fromUser: Boolean | ||||
|                 ) { | ||||
|                     mFontValue = 16 + level * GAP | ||||
|                     tvFontValue.text = mFontValue.toString() | ||||
|                 } | ||||
| 
 | ||||
|                 override fun onStartTrackingTouch(seekBar: LevelSeekBar) { | ||||
| 
 | ||||
|                 } | ||||
| 
 | ||||
|                 override fun onStopTrackingTouch(seekBar: LevelSeekBar) { | ||||
| 
 | ||||
|                 } | ||||
| 
 | ||||
|             }) | ||||
| 
 | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -115,7 +115,7 @@ class LevelSeekBar @JvmOverloads constructor( | |||
|         val trackBottom = centerY + trackHeight / 2 | ||||
| 
 | ||||
|         trackPaint.color = trackColor | ||||
|         val trackRect = RectF(0f + nodeWidth/2, trackTop, width.toFloat(), trackBottom - nodeWidth/2) | ||||
|         val trackRect = RectF(0f + thumbRadius/2 + 6, trackTop, width.toFloat() - thumbRadius/2, trackBottom - nodeWidth/2 - 6) | ||||
|         canvas.drawRoundRect(trackRect, trackEndRadius, trackEndRadius, trackPaint) | ||||
|     } | ||||
| 
 | ||||
|  | @ -129,7 +129,7 @@ class LevelSeekBar @JvmOverloads constructor( | |||
| 
 | ||||
|             nodePaint.color = if (i <= currentLevel) activeNodeColor else nodeColor | ||||
|             //canvas.drawCircle(x, centerY, nodeRadius, nodePaint) | ||||
|             val trackRect = RectF(x - thumbRadius/2, centerY - nodeHeight/2 + 6, x + thumbRadius/2, centerY + nodeHeight/2) | ||||
|             val trackRect = RectF(x - nodeWidth/2, centerY - nodeHeight/2 + 6, x + nodeWidth/2, centerY + nodeHeight/2) | ||||
|             canvas.drawRoundRect(trackRect, trackEndRadius, trackEndRadius, nodePaint) | ||||
|         } | ||||
|     } | ||||
|  |  | |||
|  | @ -74,6 +74,7 @@ | |||
| 
 | ||||
| 
 | ||||
|         <com.remax.visualnovel.ui.chat.ui.LevelSeekBar | ||||
|             android:id="@+id/level_seekbar" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="@dimen/dp_20" | ||||
|             android:layout_centerVertical="true" | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue