- 博客(21)
- 收藏
- 关注
原创 安卓Android 使用自定义view实现图片的裁剪功能
4、在Activity中,重写裁剪监听器的两个方法,这里设置的是拖动裁剪框后,2s内无任何操作则自动进行裁剪。3、在Activity中,调用setImageBitmap()方法,设置图片;2.裁剪框的四条边均可以拖动,拖动其中一条边时,另外三条边不受影响。3.拖动裁剪框后,裁剪框内的图片正常显示,裁剪框外的图片蒙灰处理。4.在拖动裁剪框后,2s内无任何操作,则自动获取裁剪后的图片。2、具体的自定义view的java代码,类中的各个方法均有注释。需求:1.首次/非首次进入裁剪界面时,裁剪框选中整张图片。
2025-03-18 17:31:43
492
原创 安卓Android 判断网络是否连接的工具类
2、需增加权限,在AndroidManifest.xml文件中增加如下权限。工具类:判断网络是否连接,包括判断是否是WiFi或者数据网络连接。
2025-03-18 16:09:15
180
原创 安卓Android 不依赖于Activity 显示Dialog弹窗
2、此弹窗为仅当不依赖于Activity时,如何弹出AlertDialog,如需弹出更复杂的全局Dialog,需编写一个最定义的Dialog类继承于Dialog,此弹窗的显示方法如下,当想要展示弹窗时,只需要调用此方法:showCameraPrivacyDialog()1、使用自定义布局,首先创建自定义的布局文件,即xml文件,其中各种background可以参考。
2025-03-11 17:26:18
394
原创 安卓Android 各种背景边框的实现
1、如图,第一种圆角边框,整体是白色的,但包含另一种颜色的边框线 ,实现方法:在drawable文件夹中新建一个shape类型的xml文件,文件具体内容如下。2、如图,第二种圆角边框,整体是蓝色的,相比于第一种更简单,实现方法:在drawable文件夹中新建一个shape类型的xml文件,文件具体内容如下。其余各种背景边框的设置,都与这两种类似,可根据要求修改。
2025-03-06 15:26:02
158
原创 安卓Android 使用as打包apk时,规范并统一apk名字
正常打包apk时无论是打包debug包还是release包,打包成的文件名为:app-debug.apk或者app-release.apk,无法根据名字判断是哪个app。若版本号为1.0.0,则打包成的apk,文件名为:AiGesture_1.0.0_gesturerecognition_0001.apk。variant.versionName是版本号,gesturerecognition_0001是appId,appId也能自己配置。
2025-02-28 09:56:19
197
原创 安卓Android Dialog 点击外部消失监听
2、点击弹窗外部不消失,物理返回键消失:setCanceledOnTouchOutside(false);Log.e(TAG, "onCancel: " + "取消识别");3、点击弹窗外部及物理返回键均不消失: setCancelable(false);1、Dialog 默认点击外部/物理返回键会消失。
2025-02-26 15:23:27
258
原创 Android 申请权限(二)
2、拒绝权限申请时,弹出Dialog,引导用户去设置里面开启权限,点击“设置”时,会跳到设置的该应用详情界面,点击“退出”则会直接关闭整个应用。1、将申请相机、访问图库权限分开,进入app时申请相机权限,点击图库按钮时申请访问图库权限。1、自定义Permission工具类,将申请相机和文件访问权限区分开。2、在AndroidManifest.xml文件中添加权限。若拒绝授予该权限,则弹出引导用户前往设置授予权限的弹窗。3、以访问图片权限为例。监听是否同意授予该权限。
2025-02-26 11:10:48
286
原创 安卓Android 获取应用的appId
在某些场景下,不同设备的两个app包名相同,但appId不同,而我们自己开发的项目,需针对这两个包名相同的app进行一些处理时,可以根据appId来操作。
2025-02-20 14:41:04
133
原创 安卓Android Dialog的使用
需求:在Dialog不关闭的情况下,切换不同的布局,也就是一级页面、二级页面。2、自定义MusicRecognitionDialog类,继承自Dialog。3、在MainActiviy中显示Dialog。
2025-02-19 17:52:25
175
原创 Android 利用Camera2实现相机预览、拍照、保存图片
3、MainActivity的详细代码,包括设置分辨率、横竖屏旋转适配(此适配方案需根据不同设备调整),每五帧自动保存一张图片到相册(此需求需要增加保存图片的权限),如需点击按钮拍照,可根据自动拍照的逻辑进行一些修改。2、在AndroidManifest.xml中增加权限。
2025-02-19 16:09:30
371
原创 安卓Android 声音内录,并将pcm文件转成wav文件
4、在MainActivity的onActivityResult方法中获取requestCode和resultCode,并启动服务。并在Application中增加:android:allowAudioPlaybackCapture="true"3、Service的详细代码,包括声音内录确认框,开始录音,六秒后停止录音,并将录制的pcm文件转换成wav文件。1.在AndroidManifest.xml文件中,添加权限。5、将pcm音频文件转为wav文件的工具类。2、配置Service。
2025-02-15 17:04:07
211
原创 安卓Android RecyclerView的使用
5、在Activity/Fragment等中的调用,这里设置的是线性布局中的水平布局,也就是只有一行,当点击每个Item/每个Item里的按钮时,会调用showMenuDetailView方法。1、自定义通用的RecyclerView类。3、根据自己的需求,确定每个item的布局。(2)创建 ViewHolder 的方法。(3)绑定数据到 ViewHolder。2、在xml文件中,定义布局。4、适配器Adapter。(1)设置点击事件监听器。
2025-02-15 15:26:41
449
原创 安卓Android ScrollView中嵌套RecyclerView时,滑动冲突问题解决
现象:滑动时RecycleView局部滑动,没有整个ScrollView整体滑动。解决方案:使用NestedScrollView替代ScrollView。
2025-01-18 09:29:14
170
原创 安卓Android 利用Dialog Fragment + viewPager2实现自动轮播图片的弹窗
3、创建弹窗 ExampleDialogFragment,这个类继承自 DialogFragment,用于创建和显示弹窗。它包含了 ViewPager2 的初始化、自动轮播的实现,以及按钮的点击事件处理,动态创建并管理小圆圈指示器。3、弹窗中的图片每隔3s自动轮播,也支持手动滑动图片,并且图片下方有小圆圈即选中图 片的指示器。4、创建指示器的drawable资源,主要为了区分选中和未选中的状态。1、将想要的弹窗布局写好,此布局为图片+指示器+文字+按钮。
2024-12-13 15:44:20
455
原创 安卓Android 图片/Bitmap工具类
5、将Bitmap转换为Base64字符串并进行URL编码(需用到上面的方法)(1)此方法包含了压缩Bitmap,根据目标尺寸缩放等。1、根据uri解码图片,通常用在从相册选择照片。2、将图片的Bitmap转换为byte类型。4、将Bitmap转换为Base64字符串。(2)此方法为简单的根据uri解码图片。图片/Bitmap工具类。
2024-11-02 11:53:16
318
原创 安卓Android 使用Intent在Activity之间传递图片
3、将图片保存在文件中,传递文件地址,第二个Activity通过地址来获得图片数据(推荐)1、通过Bitmap传递(不推荐,图片容易过大,导致报错,即使压缩也可能会有问题)2、将图片转为byte类型再进行传递(不推荐,实测容易报错)第二个Activity获得传递过来的图片地址后的操作。使用Intent在Activity之间传递图片。在Activity中的使用。将图片保存在文件中的方法。
2024-11-02 09:38:34
550
原创 安卓Android 相对布局
android:layout_centerInParent="true" 居中(水平垂直都居中)android:layout_alignParentRight="true" 在父容器的右边。android:layout_alignParentBottom="true" 在父容器的底部。android:layout_alignParentLeft="true" 在父容器的左边。android:layout_alignParentTop="true" 在父容器的顶部。
2024-10-21 18:08:50
234
原创 安卓Android项目 报错:系统找不到指定文件
解决方法:删除报错的文件,如上图所示的报错信息应该直接删除transfrom-4这个文件夹,然后重新运行项目,就可以了。
2024-10-16 17:06:27
1440
2
原创 安卓Android项目 报错提示找不到.so库 解决方法
1、在activity中利用System.loadLibrary("......") 加载库。2、在app模块的build.gradle中指定库的路径。
2024-10-16 17:01:00
314
原创 安卓Android 解决InputStream不能重复使用
将InputStream的内容读取到字节数组中,然后使用ByteArrayInputStream来重复读取。方法:将内容缓存到字节数组。
2024-10-16 16:15:46
141
原创 安卓Android 申请权限
方法一:直接在MainActivity中增加申请权限的方法。方法二:增加Pessmion工具类(推荐)在onCreate方法中调用这两个方法。在MainActivity中调用这个类。
2024-10-16 15:49:43
603
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人