当前位置: 首页 > news >正文

那种自行提取卡密的网站怎么做wordpress链接数据库文件夹

那种自行提取卡密的网站怎么做,wordpress链接数据库文件夹,网站不换域名换空间,企业网站建设报价明细表在Android开发中#xff0c;自定义控件经常需要处理各种类型的绘图需求#xff0c;包括但不限于按钮、滑块、进度条等。对于涉及范围#xff08;Range#xff09;概念的控件#xff0c;比如滑动选择器、时间线指示器或是数值范围选择器#xff0c;实现起来需要对Canvas和…在Android开发中自定义控件经常需要处理各种类型的绘图需求包括但不限于按钮、滑块、进度条等。对于涉及范围Range概念的控件比如滑动选择器、时间线指示器或是数值范围选择器实现起来需要对Canvas和Paint有深入的理解。接下来我将向你展示如何在自定义控件中实现一个范围指示器它可以显示一个或多个可选的范围值。 自定义Range控件 我们将创建一个自定义View该View能够显示一个水平的范围指示器其中包含一个或两个可拖动的手柄用于设定范围的最小值和最大值。 创建自定义View 首先定义一个名为RangeIndicatorView的自定义View Java 1public class RangeIndicatorView extends View { 2 3 private static final int DEFAULT_MIN_VALUE 0; 4 private static final int DEFAULT_MAX_VALUE 100; 5 private static final int DEFAULT_SELECTED_MIN_VALUE 20; 6 private static final int DEFAULT_SELECTED_MAX_VALUE 80; 7 private static final int TRACK_HEIGHT 30; 8 private static final int THUMB_RADIUS 15; 9 10 private Paint trackPaint; 11 private Paint thumbPaint; 12 private RectF trackRect; 13 private float minValue, maxValue; 14 private float selectedMinValue, selectedMaxValue; 15 private float thumbLeftPos, thumbRightPos; 16 17 public RangeIndicatorView(Context context) { 18 this(context, null); 19 } 20 21 public RangeIndicatorView(Context context, Nullable AttributeSet attrs) { 22 this(context, attrs, 0); 23 } 24 25 public RangeIndicatorView(Context context, Nullable AttributeSet attrs, int defStyleAttr) { 26 super(context, attrs, defStyleAttr); 27 init(); 28 } 29 30 private void init() { 31 // 初始化画笔 32 trackPaint new Paint(Paint.ANTI_ALIAS_FLAG); 33 trackPaint.setColor(Color.GRAY); 34 trackPaint.setStyle(Paint.Style.FILL); 35 36 thumbPaint new Paint(Paint.ANTI_ALIAS_FLAG); 37 thumbPaint.setColor(Color.RED); 38 thumbPaint.setStyle(Paint.Style.FILL); 39 40 // 设置默认值 41 minValue DEFAULT_MIN_VALUE; 42 maxValue DEFAULT_MAX_VALUE; 43 selectedMinValue DEFAULT_SELECTED_MIN_VALUE; 44 selectedMaxValue DEFAULT_SELECTED_MAX_VALUE; 45 46 trackRect new RectF(); 47 48 // 更新手柄位置 49 updateThumbPositions(); 50 } 51 52 Override 53 protected void onSizeChanged(int w, int h, int oldw, int oldh) { 54 super.onSizeChanged(w, h, oldw, oldh); 55 // 当View尺寸改变时重新计算Track的RectF 56 calculateTrackRect(); 57 } 58 59 Override 60 protected void onDraw(Canvas canvas) { 61 super.onDraw(canvas); 62 // 绘制Track 63 canvas.drawRect(trackRect, trackPaint); 64 // 绘制左边手柄 65 canvas.drawCircle(thumbLeftPos, getHeight() / 2, THUMB_RADIUS, thumbPaint); 66 // 绘制右边手柄 67 canvas.drawCircle(thumbRightPos, getHeight() / 2, THUMB_RADIUS, thumbPaint); 68 } 69 70 private void calculateTrackRect() { 71 int width getWidth(); 72 int height getHeight(); 73 trackRect.set(0, (height - TRACK_HEIGHT) / 2, width, (height TRACK_HEIGHT) / 2); 74 } 75 76 private void updateThumbPositions() { 77 int width getWidth(); 78 thumbLeftPos (selectedMinValue - minValue) / (maxValue - minValue) * width; 79 thumbRightPos (selectedMaxValue - minValue) / (maxValue - minValue) * width; 80 } 81 82 public void setRange(float min, float max) { 83 minValue min; 84 maxValue max; 85 updateThumbPositions(); 86 invalidate(); 87 } 88 89 public void setSelectedRange(float min, float max) { 90 selectedMinValue min; 91 selectedMaxValue max; 92 updateThumbPositions(); 93 invalidate(); 94 } 95} 关键点解析 初始化在构造函数中我们创建了两个Paint对象分别用于绘制轨道Track和手柄Thumb。我们还设置了默认的范围值和选定范围值并初始化了RectF对象用于存储Track的边界。 onSizeChanged当View的大小发生变化时这个方法会被调用来重新计算Track的RectF。 onDraw这是绘制的主要逻辑我们在这里绘制Track和两个手柄。 calculateTrackRect根据当前View的宽度和高度计算Track的位置。 updateThumbPositions根据选定的范围值计算手柄应该出现在哪个位置。 setRange 和 setSelectedRange允许外部调用者设置范围和选定范围。 使用自定义View 现在你可以在布局文件中使用这个自定义View了 Xml 1com.example.yourpackage.RangeIndicatorView 2 android:idid/range_indicator_view 3 android:layout_widthmatch_parent 4 android:layout_heightwrap_content/ 并且在Activity中可以通过findViewById找到它并设置范围 Java 1RangeIndicatorView rangeIndicatorView findViewById(R.id.range_indicator_view); 2rangeIndicatorView.setRange(0, 100); // 设置总范围 3rangeIndicatorView.setSelectedRange(20, 80); // 设置选定范围 这个自定义控件提供了一个基础框架你可以根据具体需求进一步扩展其功能例如添加触摸事件处理来实现手柄的拖拽操作。
http://www.zqtcl.cn/news/162656/

相关文章:

  • 公司网站建设招标文件范本公益永久免费主机
  • 建设银行网站查询企业年金五合一免费建站
  • 做网站开发挣钱吗做网站手机版
  • 网站建设案例精粹 电子书广州白云学校网站建设
  • 良品铺子网站制作用什么软件来做网站
  • ip直接访问网站 备案哪有深圳设计公司
  • 平面构成作品网站第一设计
  • 济南小程序开发多少钱网站移动端优化工具
  • 大连开发区网站淘宝网站优化实例
  • 张家港建网站的公司做网站犯法了 程序员有责任吗
  • 小型企业网站建设项目浦东新区网站推广公司
  • 上海做网站优化公司ps最好用的素材网站
  • 网站建设品牌推广seo制作公司网站
  • 个人网站服务器一年多少钱科技让生活更美好作文450字
  • 开学第一课汉字做网站网盘资源搜索神器
  • 备案网站应用服务树莓派用来做网站
  • 找装修公司上什么网站湘潭交通网站
  • php网站服务建设网站增加关键字
  • 免费视频网站制作泰州东方医院
  • 单位的网站怎样设计才美观手机开发者选项
  • 网站可以做软件检测吗重庆潼南网站建设价格
  • 忘记网站后台地址建设网站协议范本
  • 平面设计素材网站排行榜前十名程序员网站开发框架
  • 搭建一个网站需要多少钱搜搜
  • 做搜狗手机网站手工制作大全折纸
  • 万网站天眼查询个人信息
  • 一份优秀的网络推广方案名风seo软件
  • 自己建设一个网站步骤中文wordpress主题下载
  • 如何在中国建设银行网站转账成都网页设计培训学校哪家好
  • 青岛建设网站制作wordpress代码高亮显示