- 博客(14)
- 收藏
- 关注

原创 安卓监听屏幕,通知栏,虚拟键,标题栏高度变化
首先说明一点我这个方式必须要存在activity和设置布局,以及存在不能立马获取参数的缺点。它需要等待布局加载完毕才能正常获取,所以没有加载布局之前只能使用[^老方法]获取。譬如使用远古主题Theme,activity.getActionBar()是获取不到标题栏的但是标题栏还是存在的,而我这个可以解决这个问题因为是直接反射。注意:如果设置对话框主题则获取不到通知栏和虚拟键高度,因为它本身就没有使用这个布局。再贴个[^老方法]获取通知栏高度和虚拟键高度。其中有启动和停止方法。
2025-06-03 04:21:32
163
原创 java输出多纬数组或数组内容而非直接toString
这两的区别是一个已指定内容,一个为初始内容也就是0。它们表格长度都是3位,它们都是一维数组。参数类型不受影响,可以是int,byte,string,boolean等等。例如Object obj = new int[4][3][2][1];下面展示代码,当需要输出log或toast则可以直接输出数组内容。toString(限制输出的长度,源数组,是否展开多纬数组)所以它们又可以通过object指定变量类型。它们所有的数据类型都是object。除去object[]
2025-05-22 01:28:17
349
原创 Canvas圆形互相碰撞限制2.0
我们拥有圆心坐标和半径,所以r点坐标=圆心y轴减半径此时r点坐标已经拥有了,p点为第二个圆形的中心坐标,所以开始计算角度。第一个圆形坐标,第二个圆形坐标,第一个圆形半径,第二个圆形半径,需要去掉的画笔宽度1和画笔宽度2。那么已知三角形两点坐标和角度,开始计算第一个圆形边缘p点的位置。请看gif效果展示,我们要计算的是黑色线头尾坐标。边界的宽高,圆心坐标,半径,画笔宽度,预留宽度。圆心的坐标,r的坐标,另一个圆心的坐标。第一个圆形中心点坐标,半径,角度。第一个点的坐标,第二个点的坐标。如果听不懂请直接使用。
2025-01-14 21:33:27
428
原创 Canvas圆形互相碰撞检测
Canvas任意角度圆形碰撞,可用于小游戏。其中原理通过两个圆心坐标距离判断相距。圆心坐标去掉半径就是圆形。把这个圆形看做一条线…
2025-01-11 02:37:48
141
原创 用代码如何获取View或Activity的FPS
通过OnPreDrawListener即将绘制拿到上一次与本次的时间通过它记录fps。因为它的绘制机制并不在这个监听的方式内。除SurfaceView。fps获取其实很简单。
2023-05-13 17:46:13
220
原创 安卓version版本判断或日期时间判断
//版本对比 public static boolean compareVersions(String v1, String v2) { //参数 当前,目标 if (v1 == null || v2 == null || TextUtils.equals(v1, "") || TextUtils.equals(v2, "")) { return false; } String[] s1 = v1.split("\\."); Stri
2022-05-09 06:39:08
388
原创 java让Runnable(传参)接受参数以及自定义方法
public static abstract class Run implements Runnable { private Map<String,Object> list; public abstract void run(Run o); @Override public void run() { run(this);//在这里调用自己的回调方法 } public Run() { list = new HashMap<>(); }
2022-05-06 17:56:48
2038
原创 Android 根据屏幕尺寸适配控件大小(按比例缩放)
在写布局时就在想有没有一种方式跟随屏幕大小自动缩放呢?寻思半天不如上手写个出来package com.android.juzi.layout;import android.app.Activity;import android.content.Context;import android.content.res.Resources;import android.util.DisplayMetrics;import android.util.Log;import android.util.T
2022-04-27 00:04:32
4134
原创 模拟instanceof
public boolean isInstanceof(Object object, Class clazz) { if (object == null || clazz == null) { return false; } String str = clazz.getName(); if (str == object.getClass().getName()) { return true; } Class<?> obj = object.getClass()
2022-04-13 17:42:13
275
1
原创 安卓java新拟态风格UI实现
继承drawable方式实现package com.android.view;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.ColorFilter;import android.graphics.LinearGradient;import android.graphics.Paint;import android.graphics.Path;import
2022-02-06 12:04:26
2874
原创 android动态高斯模糊
android动态高斯模糊直接看代码package android.gaussian.blur;import android.graphics.Bitmap;import android.graphics.drawable.Drawable;import android.graphics.PixelFormat;import android.graphics.Canvas;import android.view.View;import android.content.Context;im
2021-07-07 23:14:16
951
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人