shinyuu软件开发技术分享

Android纯代码实现复杂自定义控件onMeasure()、onLayout()用法
shinyuu Android开发 3339 2 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开发 5842 1 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开发 3423 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开发 3753 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开发 4265 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 ...

阅读全文

HTML meta标签viewport属性缩放级别说明
shinyuu HTML5开发 7044 2 2021-01-06 15:43:12

什么是Viewport 手机浏览器是把页面放在一个虚拟的“窗口”(viewport)中,通常这个虚拟的“窗口”(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过平移和缩放来看网页的不同部分。移动版的 Safari 浏览器最新引进了 viewport 这个 meta tag,让网页开发者来控制 viewport 的大小和缩放,其他手机浏览器也基本支持。 Viewport 基础 一个常用的针对移动网页优化过的页面的 viewport meta 标签大致如下:...

阅读全文

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

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

阅读全文

Java类的初始化顺序_Java类的初始化过程
shinyuu Java开发实战 2660 0 2020-12-16 15:30:02

对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器。我们也可以通过下面的测试代码来验证这一点:public class InitialOrderTest { // 静态变量 public static String staticField = "静态变量"; // 变量 public String field = "变量"; // 静态初始化块 static { System.out.print...

阅读全文

Android Bitmap图片两种方案旋转90度的方法代码
shinyuu Android开发 11828 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...

阅读全文

Spring中ApplicationContextAware接口使用理解说明
shinyuu Java开发实战 11022 26 2020-11-18 14:47:14

一、ApplicationContextAware的作用 1、ApplicationContext是什么? 很多人都知道,ApplicationContext是我们常用的IOC容器,而他的顶层接口便是BeanFactory,ApplicationContext对BeanFactory做了拓展,功能更加强大。 2、ApplicationContextAware作用 在Spring/SpringMVC中,我们拿到IOC容器无非有三种方式,那就是使用ApplicationContext接口下的三个实现类:ClassPathXmlAppl...

阅读全文

Android Elevation设置_安卓动态设置elevation_android elevation设置透明度
shinyuu Android开发 5991 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...

阅读全文

Java 对HashMap进行简便排序的三种常见方法
shinyuu Java开发实战 2848 0 2020-10-28 16:26:07

这篇文章主要介绍了Java 对HashMap进行排序的三种常见方法,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下,首先来看看Map集合获取元素的三种常见方法keySet()、values()、entrySet()。 1. values(): 返回map集合的所有value的Collection集合(于集合中无序存放)import java.util.*; public class Main{ public static void main(String[] args){ Map<String, St...

阅读全文

BaseRecyclerViewAdapterHelper开源项目BaseMultiItemQuickAdapter实现多类型源码学习
shinyuu Android开发 4362 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开发 5029 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。这...

阅读全文

Spring Bean的4种依赖注入方式_Spring中bean的注入方式
shinyuu Java开发实战 13615 21 2020-08-12 13:28:28

所谓依赖注入,其实就是给对象里的属性赋值,因为对象里有其他对象,因此就形成了依赖。Spring有4种方式来给属性赋值: 1. 构造方法注入 2. set方法注入 3. 自动装配 4. 注解 1. 构造方法注入 构造方法注入是指在构造方法中注入属性或者对象来实现依赖注入,如下所示,在标签中定义一个id为userDaoImpl的Bean,并通过注入了name为username,value为admin的值,注入完成后直接通过this.username获取到值admin。其中引用类型使用ref属性,基本类型使用value属性。 publi...

阅读全文

SpringMVC接收上传的Excel并解析获取内容_上传Excel文件中读取数据
shinyuu Java开发实战 4319 0 2020-07-29 13:17:04

系统中常用到的批量导入功能,根据Excel内容批量插入,这里实现获取上传的Excel内容,由于offer2003前和2007后的版本所使用的API不一样,这里也做了兼容处理,兼容2003和2007 1.引入maven包<!-- poi office --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9&...

阅读全文

ASP.NET MVC中设置跨域_WebApi跨域(CORS)配置
shinyuu C#编程 7207 6 2020-07-15 16:04:34

实际项目中,对于WebApi的访问不一定都在同一域名下,所以进行跨域访问的时候,可能会出现如下提示:请求的资源不支持 http 方法“OPTIONS”。需要对WebApi进行设置。 1、修改Web.config文件,在system.webServer节点下,新增如下代码<!-- 跨域访问配置 --><httpProtocol> <customHeaders> <!--相应类型(值为逗号分隔的一个字符串,表明服务器支持的所有跨域请求的方法)--> <add name...

阅读全文


DD记账
top
+