Android纯代码实现复杂自定义控件onMeasure()、onLayout()用法
shinyuu Android开发 3620 3 2021-03-03 14:22:00

自定义控件的三大方法:onMeasure()、onLayout()、onDraw() 里面是绘制的操作,可以看下其他的文章,下面来了解 onMeasure()和onLayout()方法。 测量: onMeasure():  测量自己的大小,为正式布局提供建议 布局: onLayout():   使用layout()函数对所有子控件布局 绘制: onDraw():     根据布局的位置绘图 一、onMeasure()、测量protected void onMeasure(int widthM...

阅读全文

如何禁止在CoordinatorLayout中滚动AppBarLayout
shinyuu Android开发 6492 2 2021-02-24 17:03:07

我有AppBarLayout中具有视差效果的MapFragment,我想在AppBarLayout上禁用滚动,因为不可能在地图上移动,因为地图上的触摸偶数总是作为滚动事件处理. 我想通过仅滚动RecyclerView(位于屏幕底部)来处理AppBarLayout的折叠。 xml代码<?xml version="1.0" encoding="utf-8"?><androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schem...

阅读全文

Android中MD5加密算法_Android中MD5的几种生成方式
shinyuu Android开发 3766 5 2021-01-27 13:52:32

这篇文章主要介绍了Android 中 MD5 的几种生成方式,文中通过示例代码介绍的非常详细,Java 提供了 MessageDigest 类用来处理消息摘要算法,如 MD5 , SHA-1 和 SHA-256 等。对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。 1. Java 的标准实现 使用位运算进行进制转换。import java.security.MessageDigest;import java.security.NoSuchAlgorithmException; public c...

阅读全文

The given artifact contains a string literal with a package reference ´android.support.v4.content´ that cannot be safely rewritten.
shinyuu Android开发 4251 1 2021-01-20 17:11:29

我的 Android 项目采用的是 AndroidX,我首先使用的是butterknife 8.5.1版本,报错,提示我用butterknife 9.0 以上,我使用butterknife 9.0,继续报上面的错误;解决方法:使用butterknife 10.1.0 即可,报错信息如下:The given artifact contains a string literal with a package reference ´android.support.v4.content´ that cannot be...

阅读全文

Android Flutter混编_Flutter 和 Android 混编以及各种坑
shinyuu Android开发 4593 1 2021-01-13 17:47:35

Flutter 开发快,性能好,值得一用,但很多项目已然有成堆的 Native 代码了,如何才能在已有的基础上接入 Flutter 呢? 新建 Flutter 用于混编 这和情况是已经有 Native 项目或是 Native 项目单独开发,想接入一个全新的 Flutter 项目。 使用 flutter create -t module xxx 方法新建 Flutter 项目,当然这里也可以使用菜单的方式新建,File --> New --> New Module --> Flutter Module。$ cd ...

阅读全文

通过代码设置TextView的margin参数_Android动态设置Margin的方法
shinyuu Android开发 7852 1 2020-12-30 15:27:17

通过文档,查到TextView下有这么个方法setLayoutParams(ViewGroup.LayoutParams params),但是ViewGroup.LayoutParams这个东西,并没有setMargins方法,LinearLayout.LayoutParams才有,这可咋办? 手册上这样讲public void setLayoutParams (ViewGroup.LayoutParams params), 『该方法提供一些参数给父视图,指定了该view在父视图中的位置。 如果需要动态改变TextView(或者...

阅读全文

Android Bitmap图片两种方案旋转90度的方法代码
shinyuu Android开发 12570 2 2020-12-02 15:21:44

今天小编就为大家分享一篇Android开发图片水平旋转90度方法,角度可以自定义,这里的90只是举例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧。Android两种 旋转Bitmap方法,方法1. 利用Bitmap.createBitmap和方法2. 利用Canvas.drawBitmap。 方法1:Bitmap adjustPhotoRotation(Bitmap bm, final int orientationDegree) { Matrix m = new Matrix(); m.setRo...

阅读全文

Android Elevation设置_安卓动态设置elevation_android elevation设置透明度
shinyuu Android开发 6462 0 2020-11-04 16:12:09

简介: 在Android API21,新添加了一个属性:android:elevation,用以在xml定义View的深度(高度),也即z方向的值。除了elevation之外,类似于已有的translationX、translationY,也相对应地新增了一个translationZ,用以在属性动画中动态改变Z值(使用View.setTranslationZ())Z = elevation translationZ 在引入了这个属性之后,主要影响有两个:影响View的阴影影响View相互阻挡顺序 1. 影响View的阴影 Z...

阅读全文

BaseRecyclerViewAdapterHelper开源项目BaseMultiItemQuickAdapter实现多类型源码学习
shinyuu Android开发 4867 0 2020-09-23 16:32:53

今天我们来看下BaseRecyclerViewAdapterHelper是如何实现多布局的。首先我们要实现多类型布局,我们的adapter不再是继承自BaseQuickAdapter类,而是继承自其的子类,BaseMultiItemQuickAdapter。而且数据源类型需要继承自MultiItemEntity,MultiItemEntity是一个接口,代码很少:package com.chad.library.adapter.base.entity;/** * https://github.com/CymChad/BaseRecy...

阅读全文

Android MVP架构模式举例_Android中 MVP框架原理理解
shinyuu Android开发 5284 2 2020-09-02 13:48:08

在Android项目中,按照MVC的分层,Activity和Fragment应该属于View层,用于展示UI界面,以及接收用户的输入,此外还要承担一些生命周期的工作。所以开发的时候我们经常把一些业务逻辑直接写在Activity里面,这非常直观方便,代价就是Activity会越来越臃肿,而在Activity中,把View和Controller抽离开来,而这就是MVP模式的工作了。 MVP模式的核心思想 MVP把Activity中的UI逻辑抽象成View接口,把业务逻辑抽象成Presenter接口,Model类还是原来的Model。这...

阅读全文

Android实现人脸识别技术_Android如何从图片中切取人脸区域?
shinyuu Android开发 5790 0 2020-06-17 15:31:12

从一张图片中切出人脸区域是App开发中常用的场景,譬如,现在很多App用户上传头像的时候,喜欢随手自拍。自拍的图片往往在尺寸、位置上并不完美。而App需要在各种千奇百怪的UI场景下显示用户的头像。所以从原始头像图片中切取出人脸区域看起来是个刚需。这里介绍如何应用Android提供的人脸识别接口完成简单的切取人脸区域。 简单起见,输入为一个可能人脸的Bitmap,并且假定目标是识别出一个人脸而已。输出为一个以人脸为中心的原图的部分切图。如果需要自定义长宽比例,或者只需要定位人脸位置,来半侧切图,可以稍加改动实现。 Android官...

阅读全文

Android动态折线图绘制实时更新数据_Socket通信动态折线图
shinyuu Android开发 6369 3 2020-05-20 13:25:13

项目里需要App端不断地从服务器获取数据,实时生成图表。在线程一个线程中不断的从服务器获取数据,然后在Handler中更新界面,每获取一个数据发送一个Message,Handler收到Message之后更新折线图。图表控件使用的是MPAndroidChart。自己写了一个实时更新折线图的工具类。希望有需要的盆友可以直接拿走使用。 1、实时折线图工具类import android.graphics.Color;import com.github.mikephil.charting.charts.LineChart;import co...

阅读全文

Android屏幕适配
琛恋柏 Android开发 4672 0 2020-04-20 09:07:33

随着安卓手机的样式越来越多,屏幕的大小也不一致,分辨率大小也多规格化,所以在开发中就遇到很多关于屏幕适配的问题,当然前期我也是没有在乎,后来在面试的过程中,发现很多询问屏幕适配的,在看了几篇博客后,把自己的做法也分享一下,说的比较简单实用,要是看具体的,可以搜搜  http://blog.csdn.net/lmj623565791/article/details/45460089 这篇文章,鸿洋大神写的,比较详细,我这边就说说做法,       这里就需要一个jar包,本文最后给出jar包下...

阅读全文

Android系统剪贴板的复制获取和清空使用
shinyuu Android开发 14427 3 2019-09-04 14:17:02

网上有很多复制粘贴的文章,只是很有可能当放到自己的程序中不知道如何处理,现在给出如下方法,希望对大家有用,Android 系统剪贴板的使用,包括 复制、获取和清空。那么,先来了解一下下面三个类: ClipboardManager: 表示一个剪贴板 ClipData: 剪贴板中保存的所有剪贴数据集(剪贴板可同时复制/保存多条多种数据条目) ClipData.Item: 剪贴数据集中的一个数据条目 复制内容/** * 实现文本复制功能 * * @param content 复制的文本 */public static void copy...

阅读全文

Android设置锁屏壁纸和桌面壁纸的实现_分别设置锁屏和桌面壁纸
shinyuu Android开发 12568 6 2019-07-17 14:13:27

很多时候我们会有这样的需求,那就是用图片可以设置桌面壁纸,设置锁屏壁纸,同时设置桌面和锁屏壁纸,锁屏壁纸只能用静态的图片。这个功能一般情况下系统是提供这个功能的,但如果我们要做自己的APP里面实现就比较麻烦了,但还是有实现方法,效果如下: 话不多说,直接上代码,可以参考一下,通过这个方法就能实现。 设置桌面壁纸:public void SetWallPaper() { WallpaperManager mWallManager = WallpaperManager.getInstance(this); try { ...

阅读全文

Android 7.1 Shortcuts应用长按快捷方式
shinyuu Android开发 3906 0 2019-05-15 15:29:58

今天介绍一个android7.1更新的新功能,叫作Shortcuts的功能真的是太赞了, 利用这个功能以后我们就再也不用一页一页的进入我们想要的页面了, 在桌面长按图标就可以快捷进入(唉, 国产APP这个功能估计要等好久好久…),而且, 这个快捷方式是我们开发者去自定义了! 所以,,就在API发布的当天晚上, 我从文档中了解了一下这个新特性。 这个功能还是很实用的, 有了它, 我们就可以直接打开短信应用给某人发短信啦!下面我们就开始学习一下这个新的Shortcuts在开发中如何使用! 使用Static Shortcuts 什么是S...

阅读全文

去掉Android BottomNavigationView默认的图标和文字缩放动画效
shinyuu Android开发 12019 0 2019-05-08 13:29:05

最近在项目中用到了BottomNavigationView,但是有些时候我们有特殊需求,比如有需求是取消自带的动画效果,不需要label的缩放效果咋办呢?下面给大家分享一下,2句代码去掉这个效果: Java代码BottomNavigationView bottomNavigationView = findViewById(R.id.navigation);bottomNavigationView.setItemTextAppearanceActive(R.style.bottom_selected_text);bottomNavi...

阅读全文

DD记账
top
+