OpenGL入门学习[六] 今天要讲的是动画制作——可能是各位都很喜欢的。除了讲授知识外,我们还会让昨天那个“太阳、地球和月亮”天体图画动起来。缓和一下枯燥的气氛。 本次课程,我们将进入激动人心的计算机动画世界。 想必大家都知道电影和动画的工作原理吧?是的,快速的把看似连续的画面一幅幅的呈现在人们面前。一旦每秒钟呈现的画面超过24幅,人们就会错
前情提要  此前我们一直在围绕着 “iOS 逆向”这个专题在展开,最近出于工作&职业规划的需要,将开始从零学习 iOS 视觉相关的知识了。当然,逆向相关的更新也会持续。  可能很多同学看到 OpenGL 会有一丝担忧:苹果不是从 iOS 12 开始已经正式弃用 OpenGL 了吗,现在学 OpenGL 会不会没有直接学苹果自己的 Metal 收益高呢?个人觉得这个担心有些多余。且在该专题的
转载 2023-10-12 06:33:04
77阅读
Android开发自定义UI组件一些复用的UI组件,可以通过设置模板复用,接口回调等方法提高开发效率,降低代码耦合度。自定义组件大概分为3步:  1、自定义标签属性  2、定义组件类  3、在XML界面布局使用自定义标签下面举例实现一个TopBar和一个GridItem的自定义组件。这是项目目录结构一、自定义标签属性<?xml version="1.0" enc
转载 2023-07-25 20:45:32
797阅读
Android自定义TextView对于自定义,我也是最近才开始学习,所以有些自定义的控件也都是在学习中,今天先来写一个简单的自定义控件TextView,这个模仿已经简单的不能再简单了。对于自定义控件,一般来说,我们首先有以下几个步奏自定义的属性获取自定义属性重写常用的方法onDraw() onMeasure() onTouchEvent()等,这些是我们一些基本的方法,具体重写哪些方法根据具体
开发自定义控件的步骤:1、了解View的工作原理2、 编写继承自View的子类3、 为自定义View类增加属性4、 绘制控件5、 响应用户消息6 、自定义...
转载 2014-10-01 17:04:00
758阅读
12点赞
5评论
Android应用中经常会用的到一些进度条,这些进度条的样子千差万别,但是大多都是由ProgressBar来的。但是Android系统自带的进度条样式却不太好看,今天要做的就是自定义一个好看的ProgressBar。我们先来看看Android自带的进度条的样子:我们今天的目标,自定义 的进度条的样子:不难发现差距还是挺大的,好了,废话不多说,进入正题:我们首先还是从源码入手,我们可以打开ADT目
转载 2023-07-09 17:04:18
132阅读
上一篇Android自定义控件系列一:如何测量控件尺寸 我们讲了如何确定控件的属性,这篇接着也是讲个必要的知识-如何自定义属性。对于一个完整的或者说真正有实用价值的控件,自定义属性是必不可少的。如何为控件定义属性在res/values/attrs.xml(attrs.xml如果不存在,可以创建个)中使用<declare-styleable>标签定义属性,比如我想定义个显示头像
转载 2023-06-28 13:23:38
143阅读
自定义实现Android百度地图的缩放图标,需要自定义一个缩放控件,实现效果如下:这里的缩放效果,实现了点击按钮可以对地图的放大缩小,通过手势放大与缩小也控制缩放图标的可用状态。具体实现如下:zoom_selector_out.xml <!--?xml version="1.0" encoding="utf-8"?--> <selector xmlns:android="htt
转载 2023-07-24 18:24:30
132阅读
一、Drawable在Android系统张,图形图像的绘制需要在画布上进行操作和处理,但是绘制需要了解很多细节以及可能要进行一些复杂的处理,因此系统提供了一个被称之为Drawable的类来进行绘制处理。通过这个类可以减少我们的绘制工作和使用成本,同时系统也提供了众多的Drawable的派生类比如单色、图形、位图、裁剪、动画等等来完成一些常见的绘制需求。Drawable是一个抽象的可绘制类。
主布局文件:只有一个listview,用于显示所有的list<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_paren
转载 2024-08-26 19:33:08
26阅读
Android自定义View–ClockView前一篇博客中,简要介绍了关于自定义View的流程,以及一些重要的函数,接下来我会编写一个自己的CliokView(继承自View类)。实现效果图如下:第一步编写构造函数 通常使用的构造函数有三个,分别如下public ClockView(Context context){ this(context,null); } public ClockV
材料设计中的动画对用户的操作给予了反馈,并且在与应用交互时提供了持续的可见性。材料主题提供了一些按钮动画和活动过渡,Android 5.0允许你自定义动画并且可以创建新的动画:Touch FeedbackCircular RevealActivity TransitionsCurved MotionView State Changes 自定义触摸反馈 在用户与UI元素交互时,从
转载 2023-07-08 13:13:48
99阅读
流程1.一个匀速圆周运动的点2.多个匀速圆周运动的点3.多个圆周运动的点,速度由快到慢4.点与点之间的间距线性减少,动画的最后合为一个点5.为了让动画看起来更加流畅,需要在动画即将结束的时候手动绘制点核心控件PathMeasure:截取Path中的一部分并显示ValueAnimator:完成动画从初始值平滑的过度到结束值的效果,同时还负责管理动画的播放次数、播放模式、以及对动画设置监听器等流程一思
转载 2023-09-05 20:38:28
100阅读
前言这篇文章是介绍Android自定义键盘的一些套路,通过定义一个数字键盘为例,本篇的文章语言是基于Kotlin实现的,如果还没有用或者不熟悉该语言的同学,可以自己补习,我之前也写过入门文章。效果图github:源码传送门本地下载:源码传送门加载键盘存储键属性的XML描述我们下面的介绍都是依靠上图的实现来展开的,首先是软键盘的布局,我们需要我们的res/xml目录下创建一个xml文件,根节点就是
转载 2024-05-23 17:22:23
66阅读
在 res/layout 新建文件 actionbar_layout.xml,在里面写上 自定义的actionBar布局<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_w
转载 2023-05-24 23:05:08
127阅读
  android自定义桌面其实很简单,看一个例子就明白了,先上运行效果图:     首先我们要把一张自己喜欢的图片放到sdcard中,总之,只要我们可以获取这个图片就可以了。  我这里是放在sdcard中的,可以在eclipse中用鼠标点击导入,比较方便,也可以在命令行中运行:  C:\Documents and Settings\Administrator>adb push "
转载 2023-05-30 12:40:04
128阅读
先上效果:入场动画: 清理动画: 基本思路自定义一个View,让该View执行普通的Animation动画,利用Animation来当计时器,控制整个动画流程,收到每个进度变化时,先计算每个动画元素的大小、位置、颜色等逻辑,再刷新View来显示(动画元素在draw方法中自绘)。A.开始动画,创建一个Animation,设置好动画时间后,利用applyTransformation的回调来控制动画进
一、问题概述  使用ViewPager控件实现可横向翻页、水平切换图片等效果,但ViewPager需要手动滑动才能切换页面,图片轮显效果的效果本质上就是在ViewPager控件的基础上让它能自动的进行切换,所以实现图片轮显步骤如下:1、  扩展ViewPager自定义一个MyScrollImageView类2、  为MyScrollImageView定义适配器,装载图片信息3、
转载 2024-01-03 08:43:13
50阅读
Android自定义相机,简单实现切换前后摄像头,照相机拍照 Ctrl +C  Ctrl+V 可以直接 run 起来,注释比较详细;<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" pac
介绍上一篇博文写了一个通用的加载view,这篇在加载view的基础在包裹一层就是LoadingLayout了,主要的目的是免去每次加载时要隐藏主内容布局,然后加载成功之后显示主内容布局这些繁琐操作。如果你还不了解loadingView,可以简单的看一下上一篇博文:Android 自定义通用的loadingview,实现原理很简单,就是LoadingLayout在包裹内容层的基础上,在代码里添加lo
转载 2023-06-26 11:23:15
145阅读
  • 1
  • 2
  • 3
  • 4
  • 5