很多人自己搭建了独立博客个人网站,都会有一个关于我们或者时光轴页面,专门用来记录折腾博客的一些事件。...一直想折腾一个发现搞不来或者都不好看,所以折腾了下如下效果 在浏览boke112网站的时候发现有一篇关于折腾时光轴记录的文章:http://boke112.com/2964.html 博主提供的方法很简单...,就是一段代码加上一段CSS,时光轴的效果就这样诞生了 参考https://www.wangwenwu.com/1598.html 感谢作者提供思路 教学部分 以Zblog博客为例进行说明(其他开发的网站添加方法差不多一样...font-size:18px;cursor:pointer;padding: 1px 0 0 14px;} #time dt a:hover{color: #FF0000;} 2、在编辑页面或者文章的时,
时光轴效果在很多app上都有出现,例如淘宝中快递的跟踪,本文将使用recyclerView实现时光轴效果,我们会到自定义控件,首先先看一下效果图: 接下来是步骤分析 1自定义属性 这个大家应该都了解了...} } 这里需要说明的是,我们的mBeginLine的长度,其实是我们自定义控件的paddingTop高度,同理mEndLine的长度是paddingBottom高度,所以我们在使用这个控件时,...一般都会设置paddingTop和paddingBottom 6.使用TimeLine控件 以下是recyclerView中一个item的布局,多个item拼接起来就是一条时光轴,这里需要说明的是,我们的...> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...android:layout_height="match_parent" android:clickable="true" android:focusable="true
如果用时光轴来记录这些重大事情,可以让用户更加直观地看到我们的发展历程,这样对用户体验应该是有好处的。...teamnewslist li:hover b::after{border-color: #C01E22;} #teamnewslist li:hover b{color: #C01E22;} 在编辑页面或文章时,...2、由于这个时光轴仅仅是通过 CSS 来实现,所以在编辑时光轴记录的时候一定要严格按照相应的格式编写才行。...3、同样是因为时光轴是通过 CSS 来实现,所以任何博客网站,包括 WordPress、zblog 等程序建立的博客网站都可以按这个方法成功添加时光轴记录。 沈唁志|一个PHPer的成长之路!...原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:纯CSS为博客网站添加时光轴记录
给大家分享一个用CSS 3.0实现时光轴加载动画,效果如下: 以下是代码实现,欢迎大家复制、粘贴和收藏。 CSS 3.0实现时光轴加载动画
文章目录 一、编译时注解 二、编译时注解 使用 三、注解的保留时间 四、博客资源 一、编译时注解 ---- 上一篇博客 【Android APT】编译时技术 ( 编译时注解 和 注解处理器 依赖库 )...中创建并配置了 annotation 编译时注解 依赖库 和 annotation-compiler 注解处理器 依赖库 ; 本博客开始进行开发 编译时注解 依赖库 ; 开发 annotation 编译时注解...使用 ---- 注释掉之前的 ButterKnife 的 编译时注解 和 注解处理器 , 使用应用中自己开发的 编译时注解 和 注解处理器 ; build.gradle 构建脚本 依赖库相关配置 如下...annotation') } 在 MainActivity 中模仿 ButterKnife 使用 @BindView 注解 , 这是我们自定义的注解 ; package kim.hsl.apt; import android.os.Bundle...; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; import kim.hsl.annotation.BindView
任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
因为在 Android 开发的过程中, 泛型,反射,注解这些知识进场会用到,几乎所有的框架至少都会用到上面的一两种知识,如 Gson 就用到泛型,反射,注解,Retrofit 也用到泛型,反射,注解 。...java Type 详解 java 反射机制详解 注解使用入门(一) Android 自定义编译时注解1 - 简单的例子 Android 编译时注解 —— 语法详解 带你读懂 ButterKnife 的源码...自定义注解 (自己实现的的注解) 元注解 元注解 解析说明 @Documented 是否会保存到 Javadoc 文档中 @Retention 保留时间,可选值, 默认为 CLASS SOURCE(源码时)...这样在做代码生成时,不需要再单独考虑每一个监听注解,只需要处理@ListenerClass就OK。如 @interface OnItemClick 等。...自定义编译时注解1 - 简单的例子 ---- 处理器类Processor编写 自定义注解后,需要编写Processor类处理注解。
Android传输数据时加密详解 ONE Goal , ONE Passion !...公钥互换: a.首先要有两对密钥: android端一对(android公钥,android私钥) 服务器端一对(服务器公钥,服务器私钥) b.开始交换 1.android开发人员将android公钥...(字符串形式公钥,或者文件形式建议文件形式)给服务器人员 2.服务器发开人员将服务器公钥(字符串形式公钥,或者文件形式建议文件形式)给android开发人员 c.数据传输过程加密,解密 android开发人员传输数据时使用服务器公钥加密...服务器开发人员拿着私钥对android端传递过来的数据进行解密 注意: 加密,解密时.需要将 字符串形式的密钥 转换成 Key对象的密钥 2.封装RSA的工具类,方便加密解密的操作: RSAUtils...; import android.os.Bundle; import android.util.Base64; import android.view.View; import android.view.View.OnClickListener
在 Android Service 未被绑定的情况下,调用 unbindService(connection) 会报错误:service Service not registered, 所以在解除绑定前要先判断连接是否处于绑定状态
中应用编译时注解,自动生成工厂代码 在Android中应用编译时注解,自动生成工厂代码 首先以工厂模式为例,看看在工厂模式中存在的问题。...新建Android工程和Java Module 注意:由于Android默认不支持部分javax包的内容,所以我们需要将注解解析相关的类放到Java Module中才能调用到。...由于android-apt已经不再维护,并且Android官方在Gradle2.2以上已经提供了另一个工具annotationProcessor替代了原来的android-apt,所以我们直接使用annotationProcessor...程序编译时,IDE扫描文件所有的属性都可以被看作元素。...在编译时,编译器将自动调用注解处理器的process方法。
一、静态水印 实现原理:录像时是通过OpenGL把图像渲染到GLSurfaceView上的,通俗的讲,就是把图片画到一块画布上,然后展示出来。添加图片水印,就是把水印图片跟录制的图像一起画到画布上。...这是加载纹理跟阴影的Java类 package com.audiovideo.camera.blog; import android.opengl.GLES20; /** * Created by fenghaitao...使用双线程过滤 GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR); //Android...绘图到glsurface * 我们将rendermode设置为glsurfaceview.rendermode_when_dirty, * 仅当调用requestrender时调用此方法(=需要更新纹理时)...* 如果不在脏时设置rendermode,则此方法的最大调用速度为60fps。
文章目录 一、编译时技术简介 二、ButterKnife 原理分析 二、ButterKnife 生成 Activity_ViewBinding 代码分析 一、编译时技术简介 ---- APT ( Annotation...ButterKnife , ARouter 等框架 ; 编译时技术 最重要的作用就是在编译时可以 生成模板代码 ; 由于生成代码操作是在编译时进行的 , 不会对运行时的性能产生影响 ; 程序的周期...Java 虚拟机中运行 ; 编译时技术 APT 作用于 编译期 , 在这个过程中使用该技术 , 生成代码 ; 编译时技术 2 大核心要素 : 在编译时 , 执行生成代码的逻辑 , 涉及到两个重要概念...; import android.widget.TextView; import butterknife.BindView; import butterknife.ButterKnife; public...package kim.hsl.apt; import android.view.View; import android.widget.TextView; import androidx.annotation.CallSuper
Android控件显示、隐藏时,增加动画效果 首先还是看一下演示效果吧,不然凭什么相信我的帖子能解决你的问题呢? 效果GIF如下 ?...> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com...> <scale xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android...> <scale xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android...:toXScale="0" android:toYScale="0" /> 你只要把上面的代码复制到你的项目里面即可实现效果,很简单的,有什么问题可以直接评论区发问,我会第一时间回复的。
由于 Window 的 decorView 默认是设置有 10dp 的padding。需要获取到decorView后设置其padding为(0, 0, 0, 0...
文章目录 一、编译时注解和注解处理器 二、创建 编译时注解 和 注解处理器 三、添加 编译时注解 和 注解处理器 依赖库依赖 四、博客资源 一、编译时注解和注解处理器 ---- 上一篇博客 【Android...APT】编译时技术 ( ButterKnife 原理分析 ) 简单介绍了下编译时技术 , 并简单分析了 ButterKnife 的实现原理 ; 使用 ButterKnife 时会依赖两个库 , dependencies..., com.jakewharton:butterknife-compiler:10.2.3 是 注解处理器 ; 当程序构建编译时, 处理依赖库依赖 , 发现依赖了 annotationProcessor...APT 时 , 一般将 注解 拆分成两个部分 , 一部分是使用的 编译时注解 , 另一部分是 注解处理器 ; 二、创建 编译时注解 和 注解处理器 ---- 使用 Android Studio 开发...Android 项目时 , 使用到编译时技术 , 都要用到 编译时注解 和 注解处理器 ; 编译时注解 和 注解处理器 一般都创建为 Java or Kotlin Library 类型的 Module
主要原因是这些试图获取了焦点导致item无法获取焦点,所以有如下三种方法: 1)在item布局文件里面的设置,让Button,Checkbox,ImageButton视图无法获得焦点 android...:focusable="false" android:clickable="false" android:focusableInTouchMode="false"
使用Android Killer反编译,出现以下异常,特此记录: 1.resource spec: 0x01010543 当前 Apktool 使用版本:Android Killer Default...下载地址: https://down.52pojie.cn/Tools/Android_Tools/ 如下所示: ?...2.expected element name 'style' and not 'resources' 当前 Apktool 使用版本:Android Killer Default APKTOOL 正在反编译...3.Unsupported major.minor version 52,0 当前 Apktool 使用版本:Android Killer Default APKTOOL 正在反编译 APK,请稍等.....修改Android Killer JDK配置,如下图所示: ?
相信大家对于RecyclerView 都已经不再陌生,我们都知道RecyclerView等可滑动控件默认的是会有滚动条以及滑动到边缘时的阴影(光晕)效果的,那么怎样去掉这两个默认属性呢,在这里简单的记录一下...1、通过xml文件设置 android:scrollbars=""有三个属性 none:去掉滚动条 horizontal:设置水平的滚动条 vertical:设置垂直的滚动条 2、...RecyclerView.setVerticalScrollBarEnabled(boolean verticalScrollBarEnabled); 设置为true时有相应的滚动条,为false时无相应的滚动条....widget.RecyclerView android:overScrollMode="never" android:scrollbars="none" android:layout_width...="match_parent" android:layout_height="wrap_content"/>
翻着翻着我就发现,点击推送跳转时忘了加FLAG。...按照我们之前的了解: 从非 Activity跳转到 Activity时 ,必须要给 intent 设置一个 FLAGNEWTASK , 如果不设置将无法跳转。加上之后,一切毛病都没有了。...附录:API Level 和版本号对应关系一览表 https://source.android.com/setup/build-numbers
重写scrollview的onInterceptTouchEvent方法,当上下滑动时不处理即可。...Math.abs(curY - yLast); xLast = curX; yLast = curY; /** * X轴滑动距离大于Y轴滑动距离,也就是用户横向滑动时,
领取专属 10元无门槛券
手把手带您无忧上云