刚学android不久,因为公司项目要求,写了个类似刻度尺的东西,拿出来献丑,希望大家给点意见。 先上代码,注:KeduView中的浮点数计算我没处理(因为精度问题,浮点数直接计算出来的结果可能不对)。StaffView中的浮点数计算我进行了处理,我在Arithmetic中封装了加减乘除方法: Java代码   package com.hyx.suiyi
转载 2024-09-18 08:04:41
21阅读
# 实现 Android 自定义标尺的流程指导 在本篇文章中,我将向你展示如何实现一个 Android 自定义标尺。这将涵盖整个流程并提供详尽的代码示例和注释,帮助你理解每一步的实现。 ## 整个实现流程 我们将在以下步骤中完成这个自定义标尺: | 步骤 | 描述 | |------|------| | 1 | 创建一个自定义视图类 | | 2 | 在 View 中绘制标尺 |
  推荐理由 近期推送的都是关于自定义View,再来一波,来加固onDraw理解和学习。   作者:qindachang 项目地址 https://github.com/qindachang/RulerView     使用 build.gradle中引用     compile 'com.qindachang:ruler-view:1.0.0'   XML布局   <com.qindac
转载 2021-06-11 08:29:57
1247阅读
# Android自定义View实现范围标尺提示 在Android应用开发中,有时候我们需要展示一些可以拖动的范围标尺,并且在该范围标尺上可以显示当前位置的数值。这样的功能在很多应用场景中都很常见,比如音量调节、亮度调节等。本文将介绍如何通过自定义View来实现范围标尺提示的功能。 ## 实现思路 要实现范围标尺提示的功能,我们可以通过自定义View,绘制出一个范围标尺,并在标尺上绘制出一个
原创 2024-03-05 07:00:44
87阅读
# Android 自定义纵向标尺实现指南 在Android开发中,自定义视图是一个重要的主题。在本教程中,我将引导你实现一个自定义的纵向标尺,并逐步解析每个步骤。 ## 整体流程 我们将整个实现过程分为以下几个步骤: | 步骤 | 描述 | |------|------| | 1 | 创建一个自定义View类 | | 2 | 在View中重写onDraw方法 | | 3
原创 8月前
25阅读
浅谈安卓自定义view(一):制作一个最最最简单的自定义view 对于安卓程序员来说,自定义view简直很重要,毕竟有很多功能,譬如圆形头像这些,用单纯的原生非常难以实现,而用自定义view,简直分分钟。 在这里,我尝试用最简单方式跟初学者说一下如何自定义一个自己的view~首先,最简单最简单的自定义view,有多简单?简单到没有逻辑,没有任何自带属性,只是简单展示,譬如,我
转载 2023-08-11 11:10:02
282阅读
        自定义view属于android应用开发中很高频使用的技能,其中涉及到的知识点也很多。其中包括Activity的启动流程、view的刷新机制、view的绘制流程、事件的分发、属性动画等,本节的分享重点是具体的自定义view实现,其他的知识点如果大家有兴趣的话后面可以增加课题进行深入分析;       
转载 2024-03-06 00:26:42
268阅读
前言由于公司项目需要,现在需要制作一个游标滑尺来让用户选择金额与时间。查找了大量的资料和相关代码,再次完成后记录下来。内容先上图 需求需求是尺子不动,用户可以通过游标进行滑动选择滑动的时候可以动态获取当前游标指示的数值滑动结束后,游标会自动靠近临近的刻度尺,保证选择的是刻度尺上的值附带一个开关,当开关打开的时候游标依然可以滑动,但是选择值的时候只能选择最大值或者最小值中的一个,游标在选择结束的时候
不是讲所有动画Android 里面对动画可以进行一些分类,主要分为两类:AnimationTransition由于 「Transtion」 重点在于切换而不是动画,所以我们今天直接忽略。废话不用多说,那么我们就直接讲解属性动画「Property Animation」吧。现在的项目中的动画 99% 都是用的属性动画,所以我们不讲 View Animation。ViewPropertyAnimator
转载 2023-08-25 16:54:24
329阅读
前言说起Android自定义View,很多人的想法可能就是好难,既要量测宽高、获取属性、如果使用到贝塞尔曲线的话可能还牵扯到几何图形计算、更高级的还要用到高等数学;很多人一听到这些,心里估计就在打退堂鼓了!其实不然.自定义View的学习,也是需要一个过程。需要大量的积累、学习,量变引起质变,首先第一步就是不要怕,再难的问题拆分成很多块,一块一块的啃,一个问题一个问题的搞清楚,终究你会啃下这块骨头;
转载 2023-09-14 12:55:43
205阅读
自定义控件的学习流程:View的测量->View的绘制->ViewGroup的测量->ViewGroup的绘制->自定义ViewGroup->自定义控件的三种方式说明->事件拦截机制说明View的测量:Android系统绘制View是需要我们精确地告诉它该如何去画,它才能绘制出你想要的图形。那么Android在绘制View之前,我们必须对View进行测量,即告诉
设置自定义View的属性(第一部曲)首先,我们需要创建一个attr.xml文件,在这个文件中,我们定义View的属性和相关的数据类型。<resources> <!--name 是自定义属性名,format 是属性的单位--> <attr name="text" format="string" /> <attr name="textSi
这里主要用到两种自定义布局的方法,第一是使用inflate加载布局文件,也是最简单的,但是前提是要继承自ViewGroup,第二种是自定义View的方式是重写View的onMeasure(),onLayout(),onDraw方法,这种要稍微复杂一点。下面总结一下两种自定义View。 一、使用布局文件xml文件来自定义布局 首先定义定义一个View,继承自RelativeLayout,当然也可以
转载 2023-07-26 11:12:31
259阅读
Android自定义View概述Android开发进阶的必经之路一个效果只要它能够在手机上面实现你就应该具备实现它的能力。学习方式:实战->理论为什么要自定义ViewAndroid系统提供了一系列的原生控件,但这些原生控件并不能够满足我们的需求时,我们就需要自定义View了。自定义View的基本方法自定义View的最基本的三个方法分别是: onMeasure()、onLayout()、onD
如果说要按类型来划分的话,自定义View的实现方式大概可以分为三种,自绘控件、组合控件、以及继承控件。那么下面我们就来依次学习一下,每种方式分别是如何自定义View的。自绘控件自绘控件的意思就是,这个View上所展现的内容全部都是我们自己绘制出来的。绘制的代码是写在onDraw()方法中的。 我们来写一个经常会看到的音量调节View的例子,就是下面这种效果 1.自定义View的属性<?xm
转载 2023-10-12 15:11:28
186阅读
目录1. 储备知识1.1 ViewRoot定义 连接器,对应于ViewRootImpl类作用连接WindowManager 和 DecorView 完成View的三大流程: measure、layout、draw 特别注意// 在主线程中,Activity对象被创建后: // 1. 自动将DecorView添加到Window中 & 创建ViewRootImpll对象 root = new
转载 2023-07-25 20:48:48
252阅读
今天在写一个自定义view时,加了个ScrollView包裹,发现只要已出现我写的自定义view,此时界面就会异常卡顿。认真看了一下onDraw方法,发现里面进行了过多的绘制。问题表象原因在onDraw中绘制的内容过多,具体原因还未研究 解决方法将onDraw中绘制的内容提取出来,画到一个bitmap中,然后在onDraw中只绘制这个bitmap使用一个方法来处理出bitmap,包含如下代码Bit
转载 2023-06-06 19:59:37
383阅读
android开发过程中,用到系统的View时候可以通过XML来定义一些View的属性。比如ImageView:android:src  和android:scaleType为ImageView指定了图片源和图片缩放类型。其实我们也可以自定义图片的这种属性。下面以自定义标题栏为例,简单说明下自定义View属性。比如在项目中,经常会用到标题栏,左边是返回,中间是标题,右边是下一步。如下图
  今天我们来一起学习一下怎么通过自定义view画一个时钟出来。自定义view是一个比较有意思,同时难度也是很高的工作。现在市面上有很多动画效果很棒的页面,无非都是一步一步从最基础的学起的,正所谓万丈高楼平地起。所以,这篇文章很适合新手入门练习哦。首先先贴上最终的效果图吧,这样到时看代码不会特别抽象。下面我说一下,实现的步骤是什么吧。画一个外圆(确定圆心位置,然后给一个半径)画
关于ListView,在开发中经常会用到,但是一个原生的ListView并不能满足我们的开发需求,我们很多时候都会利用下拉刷新和上拉加载更多进行获取数据,这也算ListView的优化,这时候我们可以用第三方框架pullToRefreshListView,这是一个强大的第三方库,然而,今天我们要说的是自定义下拉刷新。 首先我们应该继承ListView,进行扩充,复写构造方法,进行初始化;<sp
  • 1
  • 2
  • 3
  • 4
  • 5