- 博客(36)
- 资源 (6)
- 收藏
- 关注

原创 Android去除TextView文本中的默认内边距
Android开发过程中可能很多人都遇到过这样的问题,那就是TextView上下内边距的问题。使用TextView控件的时候由于其内边距导致与UI效果相差甚远。很是让不少程序猿难受,也包括我自己因为这个原因也没少和UI设计师打嘴仗。于是最近写了一个自定义的NoBroderTextView去除了TextView上下内边距。 通过查阅Google官网的Android开...
2019-02-21 13:57:07
12517
4
原创 如何判断Android应用置于前后台
记录两种获取应用程序置于前后台状态方法。第一种使用Android系统API;第二种使用Activity生命周期。
2022-12-27 15:06:01
4932
1
原创 Android统一管理Timer计时器Service工具
通过服务保护计时器放置后台不被系统GC。防止计时器失效,并实现注册统一分发处理计时器回调更新UI页面数据。
2022-11-09 17:08:35
2003
原创 兼容Android11以上手机拍照无法保存工具
近期使用使用的时候发现,一些Android11版本及以上的手机拍照的时候无法将图片保存到应用程序的是有目录中。也就是文件的大小为0KB。这个问题会导致应用中一些更换图片的逻辑失效比如用户头像替换。意见反馈图片...
2021-09-17 10:06:25
3905
5
原创 Android通过第三方应用唤起App(Intent)
Android通过第三方应用唤起App通过隐式Intent的唤起应用程序音频文件通过“其他应用打开”或者“发送到其他”的方式唤起应用过滤数据类型通过隐式Intent的唤起应用程序在很多应用中都会遇到一种情况就是点击某一个音频、视频或者图片,唤起其他应用或者通过发送的方式唤起其他应用打开对用的数据信息。这种方式很常见并且在Android官方文档中也有一定的描述 点击此处进入。但在实际使用中获取数据以及如果配置Intent过滤器都会有一些问题的存在。这篇文章主要介绍如果进行配置及使用。音频文件通过“其他应
2021-04-25 12:03:05
3004
原创 Android使用TypedArray获取资源getResourceId方法下标越界异常问题
Android使用TypedArray获取资源getResourceId方法下标越界异常问题Android中重复资源获取方式TypedArrayres文件夹的array.xml中创建资源数组需要注意TypedArray容易出现的问题Android中重复资源获取方式TypedArray在Android中会经常遇到使用重复的资源,比如显示用户等级;往往用户等级的icon基本都是一个尺寸只是显示的内容不一样而已。而显示的时候需要通过获取接口数据中用户等级来决定如果显示。如果按住以往的逻辑我们可能会通过if—e
2021-03-15 16:52:17
2549
原创 Android瀑布流搜索历史效果。
很多App中都有搜索的功能。而搜索历史有一个很有意思的开发效果。那就是瀑布流的方式显示Label标签。效果如下:该控件的效果就是当输入搜索词触发搜索之后将文本添加到搜索历史缓存中。如果缓存中有重复的搜索词会将该词汇放置缓存第一个位置。与此同时更新搜索历史控件将刚刚输入的搜索词放置在搜索历史控件的第一行第一个词汇的位置。控件结果设计类如下图:具体代码可以通过查看GitHub代码:瀑布流搜索历史效果控件中数据缓存使用了SearchHistoryDataCache类,通过Android偏好
2020-06-01 15:18:49
886
原创 Android不同手机设置相同dp的图片显示大小不一致(记录)
项目开发中UI设计经常会问开发一个问题。比喻我现在有三款手机分别是A手机(1920*1080)B手机(2244*1080)C手机(2340*1080)这三款手机都是用的同一代码,都是使用1080p的设计方案开发的。出现了一种现象A手机和B手机显示的图片大小是一样的而C手机显示的图片要比A手机和B手机小一些。设置为什么我们可以通过代码获取到这三部手机的dpi大小。代码如下:public static String getScreenResolution() { if (dm == n
2020-05-22 16:14:36
5183
原创 兼容Android29的网络连接及网络状态工具。
最近项目升级到Android29版本发现网络连接及网络类型的好多方法都被弃用了。比如以往获取网络状态我们会使用NetworkInfo来获取但是现在这个类已经完全被抛弃了。而Google官网推荐我们使用ConnectivityManager#NetworkCallback回调的这种方式,也可以使用ConnectivityManager#getNetworkCapabilities或者ConnectivityManager#getLinkProperties的方式直接获取网络类型等信息。官网地址:https:/
2020-05-21 16:52:27
2440
原创 App拉起微信小程序工具方法
在很多应用中都会关联一些微信小程序,如果通过App将微信小程序打开或者分享能。下面分别给介绍一下。1.如何通过应用程序拉起小程序。首先我们需要在AndroidStudio中集成微信的开发工具包截止到发文微信开发工具包已经更新到了6.6.0版本。...
2020-05-18 17:13:00
5699
原创 Android 微信分享问题解决小心得(二)
分享音频点击跳转页面显示黑屏播放器(页面什么都没有全黑)后来在分享音频的时候,需要添加分享音乐的URL地址,也就是WXMusicObject.musicUrl属性,但是又一个肯人的地方来了。当我设置了一个分享的音频地址的时候OK可以分享也可以播放,但是当我点击分享内容的时候跳转到了一个不知道是什么鬼的页面,除了播放、暂停按钮什么都没有全黑页面。郁闷无比呀!后来通过多方查找返现,WX并没有提供分
2017-09-04 15:50:17
953
原创 Android 微信分享问题解决小心得(一)
近期项目增加分享(微信分享:好友及朋友圈)功能。主要用的就是WX的分享功能,于是就去微信官方开发者平台查看如何接入SDK。通过查看之后发现微信文档对于Android方面写的过于简单了。除了教授如何接入和分享各种信息之外并没有任何文档。真是郁闷!!!只能先试试看了。于是通过注册获得可APP_ID等相关信息,也添加了一些注册等一些代码。分享是发现只有第一次分享是OK的。第二次就是有问题。分享崩
2017-09-04 15:32:56
826
转载 Android Material Design控件学习(一)——TabLayout的用法
作者:@JohnTsai本文为作者原创,转载请注明出处:http://www.cnblogs.com/JohnTsai/p/4715454.html
2017-04-26 18:14:21
1754
转载 android剪切合并MP3音乐
以前做过一个音乐播放器,基本的功能都有,什么在线播放,下载,歌词显示,分享等。下面是剪切合并代码,算法也有,结合算法才好看代码[java] view plain copypackage com.cdu.hhmusic.utils; import java.io.File; import java.io.FileInputS
2017-04-26 14:29:10
3533
3
转载 android6.0运行时权限完美封装
前几天看了郭大神的运行时权限的专讲,深受启发,由于现在基于目前项目中的运行时权限封装的还不是那么完美,趁着郭神建议的还是历历在目。于是把它完整的敲了下来。并在此基础上添加上自己的一些见解,封装成一个完整的demo,希望与大家进行交流与。在这里我进行了简单的在activity中简单进行获取权限和工具类封:某一个权限被禁止或者是所有的权限被禁止,这里我做了去到烯
2017-04-19 14:04:53
713
转载 傅里叶分析之掐死教程(完整版)
作者:Heinrich链接:https://zhuanlan.zhihu.com/p/19763358来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作 者:韩 昊知 乎:Heinrich微 博:@花生油工人 知乎专栏:与时间无关的故事谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。转载的同学请保留上面
2017-04-11 17:06:36
333
转载 android剪切合并MP3音乐
以前做过一个音乐播放器,基本的功能都有,什么在线播放,下载,歌词显示,分享等。下面是剪切合并代码,算法也有,结合算法才好看代码[java] view plain copypackage com.cdu.hhmusic.utils; import java.io.File; import java.io.FileInputS
2017-04-10 17:44:13
1749
1
转载 android studio快捷键大全Windows
接下来这篇android studio使用教程,主要为大家介绍的是android studio快捷键,如果我们掌握了一些常用快捷键,那么在使用android studio的过程中会达到事半功倍的效果哦~ ----常用快捷键 1.Ctrl+E,可以显示最近编辑的文件列表 2.Shift+Click可以关闭文件 3.Ctrl+[或]可以跳到大括号的开头结
2017-04-10 11:10:02
285
转载 Android Studio 快捷键 for Mac OS X
一直以来对AS比较反感,感觉太难用了....不过GG推出了正式版,而且Github上用的人也比较多,那说明这个东西 还是有它的独到之处的。所以逼着用用吧,有道是,用用更方便....有朋友用的win版的,快捷键差别很大....快捷键设置的地方:Preferences(⌘,) > Keymap默认是Default(刚看了下,这个方案好像就是win平台
2017-04-10 11:08:05
219
原创 Andrid EditText粘贴时字符串前后出现空格问题。
开发过成功我们经常会发现在很多手机中,当我们选择一段文本内容粘贴在EditText中时往往前后会出现空格。音频EditText是TextView的子类。当用户操作粘贴、复制、剪切等动作的时候系统都会调用OnTextContextMenuItem()方法该方法可以通过查询系统源码查看,而如果要解决该问题。我们需要自定义控件并且重写OnTextContextMenuItem()方法下面为大
2017-03-16 14:28:44
3710
原创 Android调用系统照相机和摄像机
调用系统照相机。private void callPhone() { //获得文件 File _file = new File(StorageUtils.getCacheDirectory(this), "temp.jpg"); //判断文件是否为null if (_file != null) { //获得图片URI Uri
2017-03-15 20:00:39
3053
原创 Android调用三星系统照相机照片显示问题
最近开发B端产品,遇到了一个恶心的问题。就是调用三星手机的系统照相机问题。当调用相机拍照,保存的图片与实际效果相差90度。找了好多资料发现,三星手机拍照默认(竖屏)方向为90度,而其他的手机入,小米,华为,锤子等等都是默认0度。了解了这些之后就有了解决思路。首先我们要知道手机的品牌。public staticString getBrand() { return a
2017-03-15 19:47:26
1233
原创 Android调用三星S4手机系统照相机崩溃问题(有效)
最近做项目在又发现一些新的问题,记录一下希望为后面的读者的指点迷雾。由于系统版本造成的android:configChanges横竖屏配置无效,先参考源码在level13以后加入了一个screenSize的属性,这个属性很重要如果在android3.2以后的版本中没有添加"screenSize"的话依然会触发横竖屏activity销毁周期(也就是说不能屏蔽activity销毁,从而
2017-03-14 14:54:31
1199
原创 Android保持当前Activity常亮问题。
最近开发录音的一个项目,而项目要求录音界面在录音状态的时候保持屏幕常量。网上普遍的方法都是推荐使用PowerManager.WakeLock类实现。但是实际中并没有什么作用。当设置参数很多参数都已经过时。在高版本中根本没有效果。无意中发现网上提到了View.keepScreenOn和android:keepScreenOn属性,这两个属性很给力。前者可以动态的在Activity中设
2017-03-14 14:30:32
5987
1
转载 Android Bitmap 常见的几个操作:缩放,裁剪,旋转,偏移
Android Bitmap 相关操作常见的几个操作:缩放,裁剪,旋转,偏移 很多操作需要 Matrix 来支持;Matrix 通过矩阵来处理位图,计算出各个像素点的位置,从而把bitmap显示出来。 matrix里有一个3x3的矩阵,用于图像处理:MSCALE_X MSKEW_X MTRANS_XMSKEW_Y MSCALE_Y MTRANS_Y
2017-03-13 19:06:19
822
转载 Android系统 截屏监听 的 原理与实现
本文链接: http://blog.youkuaiyun.com/xietansheng/article/details/526921631. 原理Android系统并没有提供截屏通知相关的API,需要我们自己利用系统能提供的相关特性变通实现。Android系统有一个媒体数据库,每拍一张照片,或使用系统截屏截取一张图片,都会把这张图片的详细信息加入到这个媒体数据库,并发出内容改变通知,我们可以
2017-03-01 18:29:10
1072
转载 Android 常用工具类
转载请注明出处: http://blog.youkuaiyun.com/smartbetter/article/details/52709446本篇用于分享Android开发辅助工具类,用于快速开发,以便减少做重复的工作,提高开发效率。项目代码长期更新于Github:https://github.com/smartbetter/Android-UtilsLibrary1.AppUtils(Ap
2017-02-20 10:46:15
763
转载 Java利用 DES / 3DES / AES 这三种算法分别实现 对称加密
转载请注明出处:http://blog.youkuaiyun.com/smartbetter/article/details/54017759有两句话是这么说的: 1)算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。 2)编程就是算法和数据结构,算法和数据结构是编程的灵魂。 注意,这可不是我说的,是无数程序员总结的,话说的很实在也很精辟,若想长久可持续发
2017-02-20 10:13:03
559
转载 mac版本Beyond Compare如何一直试用和拷贝的xcode升级问题
Beyond Compare是一种码农经常使用的代码比较工具。通过不断删除registry.dat来达到永远在试用Beyond Compare的方式。 注意只有安装Beyond Compare成功并且运行过一次才能看到registry.dat。当它试用期到期了,重新找到registry.dat,那么你又得到30天的试用期了,不断这样到期前或到期后,删除registry.dat,达到永远在试用期
2017-02-14 17:38:51
478
转载 MVP模式在Android项目中的使用
以前在写项目的时候,没有过多考虑架构模式的问题,因为之前一直做J2EE开发,而J2EE都是采用MVC模式进行开发的,所以在搭建公司项目的时候,也是使用类似MVC的架构(严格来讲,之前的项目还算不上MVC模式,只是简单将网络请求与界面分离,然后通过Handle通知更新界面)。这种写法,在后面随着项目越来越大,Activty或者Fragment中代码也会越来越多,导致项目的维护变的越来越复杂。所以需要
2017-02-10 15:29:41
1868
1
转载 管理系统UI之五:响应UI可见性的变化(Responding to UI Visibility Changes)
来源 http://hukai.me/android-training-course-in-chinese/ui/system-ui/visibility.html本节课将教你如果注册监听器来监听系统UI可见性的变化。这个方法在将系统栏与你自己的UI控件进行同步操作时很有用。注册监听器为了获取系统UI可见性变化的通知,我们需要对View注册View.OnSystemUiVi
2017-02-09 12:17:05
304
转载 管理系统UI之四:使用全屏沉浸模式(Using Immersive Full-Screen Mode)
“虽然在android4.0之后就引入了虚拟键,但是google真正解决虚拟键所带来的困扰是在4.4版本之后。这篇文章就是教你如何彻底解决虚拟键带来的问题。在前面的几篇文章中我们已经知道如何同时隐藏状态栏和导航栏,按理说已经全屏了 ,但是前面的的这些方法都有个缺点,在全屏的时候用户不能有任何的交互行为,否则全屏效果将消失。(google这样设计的目的是为了让虚拟键能继续发挥它的作用,总要在全屏之后
2017-02-09 11:19:47
344
转载 管理系统UI之三:隐藏Navigation Bar(Hiding the Navigation Bar)
这节课将教您在4.0及以上版本中隐藏导航栏让内容显示在导航栏之后本节课程将教您如何对导航栏进行隐藏,这个特性是Android 4.0版本中引入的。即便本课程关注如何隐藏导航栏,但是在实际的开发中,你最好让状态栏与导航栏同时消失。在保证导航栏易于再次访问的情况下,隐藏导航栏与状态栏使内容区域占据了整个显示空间,因此提供了一个更加沉浸式的用户体验。一、在4.
2017-02-09 11:15:07
617
转载 管理系统UI之二:隐藏Status Bar (Hiding the Status Bar)
本文将讲解如何在不同Android版本中隐藏status bar,隐藏状态栏(或者是导航栏)可以让内容得到更多的展示空间,从而提供一个更加沉浸式的用户体验。下图展示了status bar可见时app的样子:下图展示了status bar隐藏之后app的样子,注意我们有意让actionbar也跟着不见了,我们认为,当status bar隐藏的时候,actionbar也应该是隐藏的
2017-02-09 10:57:52
651
转载 管理系统UI之一:淡化System Bar(Dimming the System Bars)
这篇文章讨论如何在4.0以及以上版本中淡化Android的system bar(status bar和navigation bar)。在4.0之前的版本没有这样的功能。用此文的方法并不会重新分配Ui的大小,只是status bar和navigation bar的相关图标会被弱化,比如navigation bar的几个虚拟键会弱化成很细微的小点。一旦你再次点击 status bar和navi
2017-02-09 10:38:50
262
Android无内边距TextView控件
2019-02-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人