关于Databinding相关 XXX.inflate(layoutInflater) must not be null问题 如com.abc.login->com.xyz.login,请进行如下步骤。
gRPC&protocol buffers 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代.
Android Mvp架构的小demo 文章目录前言MVP模式是MVC模式在Android上的一种变体,要介绍MVP就得先介绍MVC。在MVC模式中,Activity应该是属于View这一层。而实质上,它既承担了View,同时也包含一些Controller的东西在里面。这对于开发与维护来说不太友好,耦合度大高了。把Activity的View和Controller抽离出来就变成了View和Presenter,这就是MVP模式。的情况提出两种居中的方案。一、静态文字垂直居中?由于静态文字不怎么变动,我们只需要测量出这段文字的bounds,在垂直方向上减去中心点的偏移就可以实现居中code//静态文字内容private const val CONTENT .
xfermode 和预期效果不符 项目场景:利用xfermode画一个矩形和原,设置不同的xfermode类型达到不同的效果,就是用两个图形测试下面的效果问题描述:如果我们这么写:canvas.apply { val saveLayer = saveLayer(150.dp, 50.dp, 300.dp, 200.dp, paint) drawRect(150.dp, 100.dp, 250.dp, 200.dp, paint) paint.xfermode = mode
自定义View-->仪表盘 文章目录前言一、先画带锯齿的弧形代码和注释如下:重要点1.PathDashPathEffect2. 刻度和间隔二、画指针总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、先画带锯齿的弧形代码和注释如下:import android.content.Contextimport android.graphics.*impor
历次会议记录 2021/10/151. 一个月对同学们的观察同学们已经进来一个月了,学习技术的主动性不是很强。十一前安排的安卓学习,有个同学才开始,有些同学才学了一点控件这十几天的安卓学习,同学的花费的时间,普遍十个小时,仅有一位张阳同学超过了20个小时。主动性普遍不太强。2. review随手新建一个类文件,首字母也要大写,养成好的习惯。单例模式构造方法私有数据库中表命名要规范sql语句全大写或全小写,风格统一代码写完后多余空行删掉不要用return等关键字来命名类或者方法跨类通用的常量,单独
手写简易的viewPage--Android---自定义控件 文章目录前言效果展示一、思路是什么?1.一页一个view占满屏幕,所以把自己的所有空间给childView去测量2.摆放时一页摆放一个子view,可以看出left,right是进行累加的3.viewGroup要抢占子view的touch序列4.viewGroup自己的onTouchEvent前言在学习了view的点击事件的效应后,我们自己来写一个viewPage,功能比较简单,只有两个页面,我们可以左右滑动来翻页效果展示一、思路是什么?1.一页一个view占满屏幕,所以把自己的所有空间给ch
多点触控 Android 自定义控件 文章目录前言一、接力棒型或抢占型二、协作型思路code1.引入库2.读入数据总结前言在之前的那篇博客中我们做了一个可以随手指移动的图片view,只能支持单指操控,如果我们多指触控就没事我们想要的效果多点触控可以有下面这三种类型①:接力棒型或抢占型②:协作型③:互不干扰型一、接力棒型或抢占型示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、协作型思路①:确认一个触摸点作为控制图片的特殊触摸点②:移动时就把拥有图片控制权的触点作为唯一触点③
Android 画板 多指操控 多指绘图 文章目录前言一、思路二、效果展示三:完整代码前言是否可以做一个画板,多根手指可以同时绘图,手指移开,移开手指对应的绘图路径也跟着消失一、思路①:每根手指对应一个path,记录手指移动时的路径val actionIndex = event.actionIndexval path = Path()path.moveTo(event.getX(actionIndex), event.getY(actionIndex))②:创建一个map,让pointerID作为key,path作为value
图片随手指移动 --自定义控件--onTouchEvent 文章目录前言一、思路?二、完整代码前言写一个可以随手指移动而移动的图片,用自定义view实现,重写onTouchEvent方法一、思路?①:定义两个偏移量作为绘制图片时的起始位置 private var offsetX = 0f private var offsetY = 0f②:按下时记录手指的位置声明private var downX = 0fprivate var downY = 0f记录 MotionEvent.ACTION_DOWN
Android自定义view---手势识别,双击,惯性滑动,相册图片效果 文章目录前言一、GestureDetectorCompat是什么?二、使用步骤1.定义一个GestureDetectorCompat的实例2.重写方法,实现自定义效果①想让检测器消费一系列的触摸事件,那么就要在重写方法`onDown`中去返回true,那么后续的一系列触摸过程才能让手势检测器获取②既然我们要去实现双击效果,那么就得再给手势检测器设置一个监听③实现双击变大变小④重写onDoubleTap④实现惯性滑动总结完整代码前言在view中我们可以重写onTouchEvent来自定义点击事件,但是M
MaterialEditText 标签浮动 自定义view 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言做两个动画,监听文本变化,有文本时从下往上飘出一个标签,内容和`EditText`的`hint`内容一致。没有文本(开始时,或者文本删除干净时)标签从上往下逐渐隐藏。二、实现步骤1.创建类MaterialEditText去继承EditText2.创建一些基本变量3.设置文本监听4.写文字5.XML中控制标签动画的开关①自定义属性②使用MaterialEditText时去设置该属性②在MaterialEditText.class
java.lang.ClassCastException: android.view.ViewGroup$LayoutParams cannot be cast to android.view 项目场景:在我实现自定义流式布局时,我使用了measureChildWithMargins对问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obtainMessage(READ_DATA, bytes, -
自定义流式布局--kotlin实现 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、使用原因1.流式布局中放了许多小的view,要求我们把这些子view妥善的摆放在一个viewgroup中,如果我们在xmL中去实现这个效果,这就要求我们去对每个子view设置margin,padding,还有位置属性。这可能需要花很多时间去摆放,去设置。2.如果我们做一个搜索内容的历史记录,那么我们事先是不知道子view的条目和具体内容的,所以我们也没法在XML中去书写,那么我们就需要一个viewgroup去对数据进行操作,
Android 安卓自定义流式布局 文章目录前言一、如何实现?二、使用步骤1.重写onMeasure方法2.重写onLayout三、项目代码总结前言最近接触了自定义ViewGroup,准备写一个自定义流式布局练练手,流式布局广泛应用于安卓开发中,许多APP的历史记录就应用了这一模式一、如何实现?需要去继承ViewGroup,重写ViewGroup的方法二、使用步骤1.重写onMeasure方法代码如下: /** * 测量控件本身的大小 宽和高 根据子内容获取 * * @pa.
2021-07-07Recyclerview 实现几行item均分Recycleview的高度--一个数目固定的均分空间的Recyclerview 项目场景:我们用Recyclerview做了一个键盘,我们希望几行键盘可以均分Recyclerview的空间,以适应不同的机型,避免在不同的屏幕上出现键盘下方有空隙,或者显示不全的情况想要的效果:问题描述:解决方案:Adapter中定义一个成员变量protected int along;在onCreateViewHolder中设置为Recyclerview的高度➗行数,即每行所占的空间。 public GridViewAdapter.InnerHolder onCreateV