
学习笔记
文章平均质量分 57
将哥哥
有自信不一定能成功,但是没有自信要成功就难上加难。
展开
-
Android 富文本SpannableString
在Android开发中,有很多UI会画出一些特别炫酷的界面出来,比如一个字符串里有特殊的字会有其他颜色并加粗、变大变小、插入小图片、给某几个文字添加边框,如果我们使用笨办法用几个TextView或者ImageView来链接,这样虽然能实现但是会不会很笨重,如果出现换行就尴尬了,他不能想做到无缝换行造成效果跟预期效果相差太大,如果效果很复杂是不是会给应用增加体验负担?还会给带来适配的问题,SpannableString的出现帮我们解决了这一系列的问题。解决复杂的字符串效果UI效果,原创 2023-09-20 09:12:11 · 1318 阅读 · 0 评论 -
常用逻辑运算符
运算符原创 2023-02-27 15:21:42 · 482 阅读 · 0 评论 -
实现监听NestedScrollView拖拽、惯性滑动、滑动停止、滑动到顶部和底部
运行实时监听日志:因为在开发中经常会需要在滚动的各种状态下处理一些UI界面功能,但是系统又没有提供实时监听拖拽、惯性滑动、滑动停止、滑动到顶部和底部等功能。那怎么办,只能自己去实现这些功能。滚动的几种状态 /** * 滚动状态 */ public enum ScrollState{ DRAG, // 拖拽中 SCROLLING, // 正在滚动 IDLE // 已停止 }.原创 2021-11-30 14:26:07 · 8714 阅读 · 0 评论 -
保持屏幕常亮的方法
一、方式一不需要授权 ( 推荐使用)getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);二、方式二PowerManager.WakeLock 需要授权添加权限 <uses-permission android:name="android.permission.WAKE_LOCK" />1.实例化 PowerManager powerManager = (PowerManager)getSy原创 2020-12-26 10:32:59 · 1303 阅读 · 0 评论 -
学习记录反射机制
与Java反射相关的类如下: 类名 用途Class类 代表类的实体,在运行的Java应用程序中表示类和接口Field类 代表类的成员变量(成员变量也称为类的属性)Method类 代表类的方法Constructor类 代表类的构造方法Class类获得类相关的方法方法 用途asSubclass(Class<U> clazz) 把传递的类的对象转换成代表其子类的对象Cast 把对象转换成代表类或是接口的对象getClassLoader() 获得类的加载器原创 2020-12-03 15:52:07 · 216 阅读 · 0 评论 -
Java连接MySQL数据库简单实现
首先需要安装mysql下载mysql-connector-java-5.1.39-bin.jar插件https://dev.mysql.com/downloads/connector/j/?os=26然后将mysql-connector-java-5.1.39-bin.jar添加到eclipse 项目中启动mysql原创 2020-09-19 14:43:10 · 900 阅读 · 0 评论 -
Eclipse IDE for Enterprise Java Developers下载安装
eclipse下载地址https://www.eclipse.org/downloads/packages/release/2018-12/r安装:安装完成之后,点击LAUNCH,然后设置workspace目录,点击launch即可打开eclips同时安装时在桌面生成有快捷方式原创 2020-09-19 14:29:26 · 4977 阅读 · 0 评论 -
JDK的下载以及配置
JDK官网下载地址:https://www.oracle.com/cn/java/technologies/javase-downloads.html安装完成之后配置环境1、JAVA_HOME 对用的安装根目录 D:\Program Files\Java\jdk-13.0.12、path 配置 %JAVA_HOME%\bin %JAVA_HOME%\jre\bin新版的JDK是没有jre文件夹,解决办法win+r然后cmd进到jdk安装更目录:输入命令:bin\jlink.e原创 2020-09-19 14:19:32 · 245 阅读 · 0 评论 -
颜色十六进制透明度对照列表
100% — FF99% — FC98% — FA97% — F796% — F595% — F294% — F093% — ED92% — EB91% — E890% — E689% — E388% — E087% — DE86% — DB85% — D984% — D683% — D482% — D181% — CF80% — CC79% — C978% — C777% — C476% — C275% — BF74% — BD73% — BA72%原创 2020-09-18 14:56:40 · 531 阅读 · 0 评论 -
记录GreenDao的使用
集成GreenDao在Project目录下build.gradle下添加插件buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.6.3' // 添加插件 更好支持GreenDao classpath .原创 2020-06-04 13:38:11 · 281 阅读 · 0 评论 -
记录实现高斯模糊列子
demo效果实现模糊的工具类StackBlurUtil.javapackage com.example.springbootdemo;import android.graphics.Bitmap;public class StackBlurUtil { /** * @param sentBitmap * @param radius * @param canReuseInBitmap * @return */ publi原创 2020-05-14 18:17:45 · 258 阅读 · 0 评论 -
RecyclerView实现拖拽切换item位置
代码很简单,直接上码public class MainActivity extends AppCompatActivity { private RecyclerView recyclerView ; private List<String> list ; @Override protected void onCreate(Bundle...原创 2020-03-16 10:54:51 · 3610 阅读 · 2 评论 -
android控制摄像头使用Camera2拍照
Camera2是Android5.0对拍照全新的改版设计其中主要涉及:CameraMaganger:摄像头的管理,主要检测系统摄像头、打开摄像头,调用CameraManager的manager.getCameraCharacteristics(cameraId)获取相机的属性CameraCharacteristics:摄像头的特性,用于描述摄像机支持的所有特性。CameraDevice:...原创 2020-01-15 15:29:57 · 1767 阅读 · 0 评论 -
Android VideoView播放网络视频
Android系统API已经给我们封装简单播放视频的控件,常用的VideoView和MediaPlayer+SurfaceView,当然如果需要支持各种格式的视频文件播放,那么这两种方式就有点不太那么友好了,谷歌也给我们提供了IjkPlayer、或者还有其他的类库比如维他命等本文只介绍VideoView的使用:添加权限<uses-permission android:name="and...原创 2020-01-13 14:18:49 · 3029 阅读 · 0 评论 -
Android传感器
开发步骤1、获取SensorManager对象SensorManager sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);2、指定传感器Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION)3、注册监听(Sensor...原创 2020-01-09 12:01:41 · 713 阅读 · 0 评论 -
访问网络资源
URL访问网络图片 private void initURLLoadImage() { final ImageView showImage = findViewById(R.id.showImage); new Thread(new Runnable() { @Override public void run(...原创 2020-01-08 15:11:32 · 213 阅读 · 0 评论 -
如何Socket通信
使用ServerSocket创建TCP服务端ServerSocket创建服务端,监听来自客服端发送过来信息。public ServerSocket(int port)用于指定端口,有效的数值 0 ~ 65535public ServerSocket(int port, int backlog) backlog 连接队列长度的参数ServerSocket(int port, int ba...原创 2020-01-07 16:50:48 · 153 阅读 · 0 评论 -
Service的使用和理解
Service是Android的四大组件之一,与Activity比较相似的组件,只能运行于后台没有可视化的界面1、开发Service需要两个步骤定义一个service的子类在Androidmanifest.xml文件中配置该service定义子类MyServicepublic class MyService extends Service { public MyBinde...原创 2020-01-04 11:51:51 · 319 阅读 · 0 评论 -
Android ContentProvider的使用和理解
ContentProvider是Android中跨进程数据交换的重要类,Android为数据交换提供了一个标准ContentProvider.原创 2019-12-30 12:06:48 · 554 阅读 · 0 评论 -
Android广播理解
Android中广播主要分为:有序广播、无序广播、粘性广播、局部广播。普通广播 : 使用sendBroadCast(Intent i) 发送普通广播是一个完全异步并行的,优点效率高,可以在同一时刻让批量的匹配接收器接收到发送的消息,缺点不能终止广播、上一个接受者不能将信息往下传递有序广播:使用sendOrderBrodCast()发送有序广播的接收者们将按照事先生命的优先...原创 2019-12-30 11:30:58 · 253 阅读 · 0 评论 -
BlockingQueue简单使用
明确BlockingQueue的作用以及使用场景;悉知BlockingQueue的基本使用1、BlockingQueue一般用于排队的列子,比如多线程的批量下载或者上传,有效控制队列高效执行,2、BlockingQueue的实例化以及怎么去使用 //实例化BlockingQueue并指定队列的容量为10 ,超出10将会阻塞,直到basket.take()消费才会继续添加进队列中去...原创 2019-09-04 14:43:01 · 597 阅读 · 0 评论 -
Android setSystemUiVisibility(int visible)详解
****可供选择的参数:SYSTEM_UI_FLAG_LOW_PROFILESYSTEM_UI_FLAG_HIDE_NAVIGATIONSYSTEM_UI_FLAG_FULLSCREENSYSTEM_UI_FLAG_LAYOUT_STABLESYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATIONSYSTEM_UI_FLAG_LAYOUT_FULLSCREEN...原创 2019-07-02 09:03:52 · 315 阅读 · 0 评论 -
自定义View实现阴影
其实实现阴影Android系统自带android:elevation实现阴影功能,但是在低版本系统可能就无效了,当然还可以使用shape.xml实现,CardView也可以实行阴影功能,但是尴尬的是不知道怎么切换阴影的颜色。上图中图一是使用setShadowLayer实现的阴影效果上图中图二是使用 setMaskFilter(new BlurMaskFilter(50,BlurMaskFi...原创 2019-10-09 11:55:50 · 1819 阅读 · 0 评论 -
自定义view实现刮刮乐
分析实现原理1、首先最上层是一个颜色层2、其次就是文字背景 当然也可以定义一些比较丰富的样式3、最后就是手势实现一个橡皮檫一样的功能其实整个功能主要就是这个橡皮檫比较难以实现点,如果了解PorterDuffXfermode的使用那么就简单了,首先看一张经典图片:这张图片就是一个求各种交集,其中比较常用的src_in 和 DstIn,通常用来实现圆形、圆角或者奇形怪状的图,定义...原创 2019-09-26 11:49:53 · 262 阅读 · 0 评论 -
TextView添加下划线和删除线的方法
TextView中的几种Flag简介Paint.ANTI_ALIAS_FLAG :抗锯齿标志Paint.FILTER_BITMAP_FLAG : 使位图过滤的位掩码标志Paint.DITHER_FLAG : 使位图进行有利的抖动的位掩码标志Paint.UNDERLINE_TEXT_FLAG : 下划线Paint.STRIKE_THRU_TEXT_FLAG : 中划线Paint.FAKE...原创 2019-07-04 11:45:59 · 2533 阅读 · 0 评论 -
RecyclerView实现上滑动隐藏搜索布局下滑显示搜索布局
实现的效果图:首先需要对RecyclerView滑动监听 recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(@NonNull RecyclerView ...原创 2019-07-03 16:22:01 · 2886 阅读 · 10 评论 -
RecyclerView实现View吸附顶部效果
本文实现的效果实现步骤:1、布局<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" andro...原创 2019-07-03 11:51:35 · 2026 阅读 · 0 评论 -
EditText+边框布局之软键盘适配
问题点;在给EditText外加一个边框的情况弹出软件,输入框以下部分会被隐盖解决思路以及方案:思路如果我能够计算出当前界面的可见区域的高度和和软键盘弹出的高度,此问题是否就能迎刃而解呢,答案是肯定,出现问题,解决问题的思路咱们都有了,就差那该死的代码了:1.封装的工具是package com.tencent.ilivedemo.utils; import andr...原创 2019-07-02 09:10:21 · 196 阅读 · 0 评论 -
使用ViewGrop简单实现流布局
无聊中的我随手敲一个流布局的核心部分代码,后续再封装成一个工具类运行效果图ViewGroup01 .javapackage -----------------------------------------import android.content.Context;import android.graphics.Color;import android.util.Attrib...原创 2019-07-01 16:31:47 · 151 阅读 · 0 评论 -
自定义View-实现绘制bitmap
本文主要实现将二维码绘制到图片的右下角import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.grap...原创 2019-07-01 16:19:41 · 2509 阅读 · 0 评论 -
自定义给TextView加边框
- 对于实现该功能首先必须要对自定义控件有一定的知识了解原创 2019-07-01 16:14:53 · 553 阅读 · 0 评论 -
Notification之8.0以上无效解决
今天使用Notification做一个通知消息的时候,突然TMD居然无效,反复的搞整无果,于是乎谷歌了一把,发现跟系统版本有关系,貌似8.0系统以上的系统使用以前的方法实现都无效,万能的百度告诉我需要设置渠道,结果可以正常实现了,废话不多说了,直接上马:import android.annotation.SuppressLint;import android.annotation.Tar...原创 2019-07-01 15:34:07 · 2327 阅读 · 0 评论 -
获取相册和拍照适配所有版本
运行效果:剪裁框架 implementation 'com.yalantis:ucrop:2.2.0-native'需要权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:n...原创 2019-07-04 14:53:50 · 322 阅读 · 0 评论 -
Switch自定义样式
因为系统的原因,Switch在不同的版本下和某些手机上的展示的样子满足不了自己,因此我需要自定义,以下是本文的效果:其实想要实现这个样式很简单,只需要了解Switch控件的两个属性就可以完美的自己自定义了 <Switch android:id="@+id/sMoRen" android...原创 2019-07-04 15:27:31 · 3292 阅读 · 0 评论 -
RecyclerView添加头和尾
第一步实现继承RecyclerView.ViewHolder 的子类CommonViewHolderpublic class CommonViewHolder extends RecyclerView.ViewHolder { public TextView title_textview; public CommonViewHolder(@NonNull View ite...原创 2019-09-20 15:42:46 · 374 阅读 · 0 评论 -
三阶贝塞尔曲线
实现原理实现三阶贝塞尔曲线须知四个点点坐标,起点P0(x,y), 控制点P1(x,y),终点P2(x,y)P3(x,y),其中p1和p2是两个控制点,相比二阶贝塞尔曲线多了一个控制点,示例/** * 三阶贝塞尔曲线 * * 需要两个控制点 * */public class BSE3View extends View { /*起点*/ int st...原创 2019-09-12 18:15:55 · 9447 阅读 · 0 评论 -
二阶贝塞尔曲线
实现原理实现二阶贝塞尔曲线须知三个点点坐标,起点P0(x,y), 控制点P1(x,y),终点P2(x,y)示例:/** * 二阶贝塞尔曲线 */public class BSE2View extends View { /*起点*/ int startPointX; int startPointY; /*控制点*/ int conP...原创 2019-09-12 15:30:40 · 4278 阅读 · 0 评论 -
粗略了解RandomAccessFile使用
明确RandomAccessFile的有点,可以任意位置进行读取和插入,常用于断点续传下载等场景。RandomAccessFile的实例化以及常用的方法函数实例化RandomAccessFile 需要传入两个参数,第一个参数文件的路径path,第二个参数表示权限 “rwd” RandomAccessFile randomAccessFile=new RandomAccessFile(f...原创 2019-09-04 14:59:25 · 223 阅读 · 0 评论 -
Android 字体修改
系统自带影响Android 字体的属性android:textStyleandroid:typefaceandroid:fontFamily1、textStyle可设置三个值:默认normal,加粗bold,倾斜体italic2、typeface它可选的属性有 normal|sans|serif|monospace3、fontFamily它可选的属性有 monospace|se...原创 2019-09-04 11:02:37 · 934 阅读 · 0 评论 -
自定义SurfaceView实现简单的音频图
效果:原创 2019-08-02 15:35:50 · 231 阅读 · 0 评论