Android
泥巴城
这个作者很懒,什么都没留下…
展开
-
2021-08-05
升级Gradle 7.0.0后同步项目依赖报错从gradle4.1.2升级到7.0.0后同步项目直接报错!!!报错截图如下:定位到项目的build.gradle文件中的以下代码块allprojects { repositories { mavenCentral() google() }}具体报错实在mavenCentral()。后来发现,gradle 7.0.0中写法跟4.1.2不一样了,该段代码需要删掉,然后写在setting.gradle原创 2021-08-05 15:07:44 · 244 阅读 · 0 评论 -
Android 悬浮窗、屏幕推流与录屏截屏
Android 悬浮窗、屏幕推流与录屏截屏项目需求声明1. 打开应用后直接显示桌面悬浮窗1). 解决Launcher Activity闪屏问题2). 添加悬浮窗2. 屏幕推流3. 补充关于录屏和截屏1). 录屏2). 截屏项目需求声明打开应用后直接显示桌面悬浮窗点击悬浮按钮开始屏幕推流1. 打开应用后直接显示桌面悬浮窗针对此项目需求,需要考虑的是,我打开app后应启动Launcher Activity,然后将应用栈放到后台。需要注意的是,如果时平常的Activity,那么会闪一下屏幕,这样的效原创 2020-11-04 16:43:32 · 2783 阅读 · 1 评论 -
仿MIUI拨号键盘 - 弹出隐藏
本文由gxp1182893781(泥巴城)原创,转载请注明!!仿MIUI拨号键盘 - 弹出隐藏实现效果预览效果分析实现思路动画按钮的实现测量过程绘制过程键盘ViewGroup - KayBoardLayout测量过程布局过程写在最后实现效果预览效果分析拨号盘折叠状态只显示一个展开按钮,展开后按钮变为键盘底部中间的“挂断/拨打”按钮。整个组件可以认为是由两部分组成的,分别是底部的键盘和展...原创 2020-01-17 10:53:47 · 880 阅读 · 0 评论 -
自定义功能球按钮群View
自定义一个功能球按钮群组件实现效果预览功能球分析实现思路FunctionGlobalView如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入实现效果预览功能...原创 2020-01-16 15:37:48 · 264 阅读 · 0 评论 -
Android Studio import module后不显示的问题 --------记录一个很久以前的问题
很久以前预见的问题了,今天创建新项目的时候出现后突然想起来没有在博客里记录过,罪过罪过… …在Android项目里经常会用到其他的项目作为library加载到自己的项目中的情况,当使用AS的import module功能时需要选择module的路径,然后点击“Finish”去加载library是第一步。可是往往这个时候虽然库是加载了,但是在AS里并不显示,,对于不知所以然的小伙伴们来说...原创 2018-07-27 17:14:32 · 3045 阅读 · 4 评论 -
给你的TextView中的部分文字加入没有下划线的超链接
项目优化,当网络请求失败时加上提醒,并可以点击TextView中的“刷新”两个字再次请求。使用ClickableSpan对超链接进行设置。默认情况下的样式是这样的:想要的样式是这样的:我们使用默认ClickableSpan的方法如下:SpannableStringBuilder builder = new SpannableStringBuilder("(╯︵╰)\原创 2017-10-16 10:44:40 · 592 阅读 · 0 评论 -
Recyclerview添加自定义的虚线分割线
工作需要,recyclerView添加虚线分割线,想实现的效果是这样的:需要自定义DashlineDecoration继承自RecyclerView.ItemDecoration,其中有三个方法:public voidonDraw(Canvas c,RecyclerView parent,RecyclerView.State state)、public vo原创 2017-10-11 10:46:56 · 3381 阅读 · 0 评论 -
Android中shape画虚线在真机或模拟机上显示为实线的问题
关于根标签是shape的deawable文件中画虚线但是运行在模拟器或者真机上显示为实线的问题,网上也有不少描述说是从Android 4.0开始默认硬件加速导致的。网上给的大部分解决方法是:在定义shape时,注明android:layerType="software",如果是在Fragment中,就在onCreateView中调用view.setLayerType(View.LAYE原创 2017-10-09 15:43:17 · 996 阅读 · 0 评论 -
自定义TextView实现渐变色边框,渐变色文字并绘制drawable
工作需求,渐变色的边框和文字,还需要显示drawable。我们知道如果是View的背景色渐变,那么很好办,只需要写一个drawable文件,里面定义shape然后设置为View的background就行了。但是如果需要渐变色的文字,就得需要重写onDraw方法了,当然渐变色的边框也是这样的。如果重写了onDraw方法,即使设置了drawableLeft、drawableRight等drawable原创 2017-10-09 09:08:06 · 6123 阅读 · 1 评论 -
Android HTTP保存sessionid
sessionid包含在cookies里面,而cookies在header里,所以我们需要先从header里拿到cookies,然后再拿到sessionid。下面给出保存cookies的方法:/** * 保存Cookie * * @param httpResponse */@SuppressWarnings("unused")public static HashMa原创 2017-09-19 11:48:29 · 2797 阅读 · 0 评论 -
Android打开自启动设置页面
由于Linux的开源,市面上出现了很多定制的Android系统,这写系统有的将Android原生系统改的面目全非,很多方法不能同时在所有机型上适用,这是问题的一大难点。项目中遇见了一个问题,我用JPush SDK推送消息,但是如果服务被关闭,将无法及时接收消息。这样也就没有起到应有的效果。所以我想让我的app接收系统广播,每次接收到Intent.ACTION_TIME_TICK这个广播原创 2017-09-19 11:13:39 · 9741 阅读 · 3 评论 -
Android创建通知栏
一般方法在下面: /** * 创建通知栏进度条 * * @param mNotifyManager * @param mBuilder * @param context 上下文 * @param icon 图标 * @param title 标题 * @原创 2017-09-19 11:08:52 · 667 阅读 · 0 评论 -
使用正则表达式验证手机号格式
废话不多说,直接上代码,有什么区段可以补充的,请告知!/** * 校验手机号格式 * * @param number * @return */public static boolean isMobileNum(String number) { /* 移动:134、135、136、137、138、139、150、151、157(TD)、158、159、18原创 2017-09-19 11:00:18 · 11665 阅读 · 1 评论 -
Android判断网络
有的时候我们需要根据当前网络状况做一些事情,在项目中判断当前是否有网络连接似乎很重要,其实也很重要。下面贴出相应代码,使用的时候拷贝到工具类中就可以了。一、判断当前是否有网络连接/** * 判断是否有网络连接 * * @param context * @return */public static boolean isNetworkConnected(Context原创 2017-09-19 10:52:20 · 423 阅读 · 0 评论 -
关于org.json.JSONArray构造JSONArray的问题
JSONArray中不一定每个成员都是JSONObject,也可以是其他的,比如:String。 在项目中,曾遇一个问题,需要传递这样的数据:{"uuid":"s828ht5b5v","page":"0","categoryList":["b2ehv85ssl","222222","111111"]}注意categoryList中的值:["b2ehv85ssl","2222原创 2017-11-22 18:01:50 · 3056 阅读 · 0 评论 -
Android Studio Rebuild失败:Could not find com.android.tools.lint:lint-gradle:26.1.1.
在使用Android Studio开发时,自己写了个library,想要生成aar文件,rebuild时AS报错: Could not find com.android.tools.lint:lint-gradle:26.1.1. 于是上网找度娘,无果。 在stackovweflow的一篇文章中终于找到了答案。我是传送门,点我查看原网页这里做一下记录,方便遇到同样...原创 2018-05-14 17:02:45 · 27382 阅读 · 5 评论 -
将中文数字转换成阿拉伯数字,支持小数和大数
无关紧要的话:好久没有更新博客了,似乎都快忘记了自己还有个博客,嘻嘻~~项目需求简单说明最近在项目里面用到了一个需求,我从本地数据库中读到了很多法律条文,但是从数据库里面拿到的数据有可能是没有顺序的,我需要对这些数据进行排序,但是需要注意的是,所有的条文的序号都是中文的,类似“第一条”、“第一章”等,这样我就需要将这些中文数字转成阿拉伯数字再进行比较。解决方法重要提示:请自己保证方法参数...原创 2019-09-25 10:50:04 · 1556 阅读 · 0 评论 -
记录Android中@Parcelize的一个小坑
今天的博客很简单,记录一个@Parcelize注解使用过程中的一个小坑。大家都知道@Parcelize使用需要在module的build.gradle中配置两个地方:添加apply plugin: 'kotlin-android-extensions'添加: android{ androidExtensions { experimental = true...原创 2019-08-14 14:11:13 · 4027 阅读 · 2 评论 -
自定义NestedScrollingParent和使用CoordinatorLayout并自定义Behavior两种方式实现一个UI交互界面
嵌套滑动撸一个ui交互效果本文实现效果预览分析此过程:效果实现方法分析:使用NestedScrolling机制实现效果自定义TitleStickyNavLayout布局文件使用CoordinatorLayout并自定义Behavior实现分析View之间的依赖关系编写BehaviorRecyclerviewBehaviorNavBehavior确定初始位置嵌套滑动动态设置NavVeiw的位置布局文...原创 2019-07-01 15:28:44 · 783 阅读 · 0 评论 -
创建无图标的APP并用另一个APP启动它
工作之余,想搞些感兴趣的东西,过程中涉及到隐藏原有APP的桌面图标并用另一个APP拉起隐藏图标的APP,于是我就想从头完整摸索一下,尽量把所有情况都测试一遍。声明,以下测试均是针对需要拉起的APP的入口Activity进行的测试,如果想要被拉起的不是入口Activity,请另行测试 下面就开始吧!!(ps.测试过程中被拉起的APP取名为“PulledApp”,包名为“com.peng.a...原创 2019-03-28 13:17:52 · 1441 阅读 · 0 评论 -
使用AlarmManager实现定时提醒,解决锁屏后无法正常唤醒CPU和屏幕的问题
之前写过一个demo来实现定时操作,最近帮别人写项目的时候又用到了这个需求,于是coding起来。首先来说一下我的实现思路:用户选择好闹钟提醒时间后我要启动一个Service,在这个Service里面设置闹钟,通过闹钟直接打开一个Activity来显示提醒信息。我想要创建一个不在通知栏中显示notification的前台Service,这样就可以让Service一直运行了,除非你在手机的“最近任...原创 2019-04-10 12:08:27 · 7907 阅读 · 5 评论 -
记录一个Kotlin中对map遍历foreach遇见的问题
kotlin开发Android,期间用到了对map进行键和值的遍历,代码大致如下: //创建了一个map val showFields = mapOf( "NAME_CHN" to "名称", "ADDR_CHN" to "地址", "YHDD" to "名称", &quo原创 2018-09-06 09:46:32 · 7138 阅读 · 4 评论 -
com.alibaba.fastjson.JSON与com.google.gson.Gson解析复杂json成java bean时遇见的坑
对于解析复杂的json字符串成java bean的解决方法,有阿里提供的FastJson和Google提供的Gson两个方法进行解析,在编写java bean的时候会稍微注意一下,因为会有一些坑。首先,如果解析嵌套的json成嵌套的java bean ,那么如果你用Gson可以直接正常定义内层class,但如果你用的是FastJson,请为内层class加上static关键字,否则会出现“co...原创 2018-08-22 13:47:08 · 1382 阅读 · 0 评论 -
Genymotion虚拟机中的Resources$NotFoundException
接手同事的项目,将项目导入到我的AS中一切正常,在Genymotion中运行了一下,Boom~~~~程序crash掉了,,翻看log,赫然写着一行特别扎眼的文字 很明显是资源没有找到,这里是本应该写在Strings.xml中的string没有找到。。循着错误日志,发现是一个名叫“pull_to_refresh_pull_label”的string资源没有找到。这个错误在真机上运行是不会出...原创 2018-07-19 14:36:03 · 194 阅读 · 0 评论 -
Android图片拼接
有的时候我们的项目是需要拼接图片的,怎么实现呢?直接上代码:/** * 横向拼接图片 * 功能详细描述> * * @param first * @param second * @return */public static final Bitmap splitHorizontal(Bitmap first, Bitmap second) { int width原创 2017-09-19 10:28:10 · 2769 阅读 · 1 评论 -
Android下使用zxing包生成二维码
Android studio在project structure中添加库(直接搜com.google.zxing即可,默认最新版本,就选默认的版本就可以)com.google.zxing:core:3.3.0或者直接在module的build.gradle文件中引入该包compile 'com.google.zxing:core:3.3.0'在项目中创建一个原创 2017-09-19 09:53:20 · 4293 阅读 · 1 评论 -
关于AlertDialog的小坑
当我们需要获知AlertDialog是否正在显示,我那个往我们会用到isShowing()方法,针对隐藏dialog的方法主要有三种:cancel()、hide()、dismiss()。但是不是调用这三个方法中的任意一个都能让dialog .isShowing()返回false。我们需要看一下源码:既然我们想调用isShowing()方法来判断dialog是否正在显示,那么原创 2017-09-16 12:28:00 · 1525 阅读 · 0 评论 -
DatePickerDialog主题问题
再以此做项目中偶然遇到的问题:我设置了application>的主题为“android:theme="@style/AppTheme"”,然后布局文件的主题为“android:theme="@android:style/Theme.Light"”,项目中用到了 DatePickerDialog,因为实在fragment中而不是activity中,所以没有使用"setTheme();"方原创 2017-04-02 15:47:41 · 4087 阅读 · 0 评论 -
Android中Fragment嵌套Fragment,切换Fragment时不显示视图的原因及解决方法
项目中经常会用到ViewPager配合Fragment进行滑动视图的实现,经常配合FragmentPagerAdapter一起使用。当需要在Fragment(姑且叫做A)中嵌套另外一个Fragment(姑且叫做B)的时候,第一次启动这两个Fragment没有问题,但是当从B切换回A时,有时会遇到A中本该显示的视图没有显示,而是一片空白!而代码本身是没有任何错误的。会不会很郁闷?Frag原创 2017-04-06 15:15:02 · 8591 阅读 · 0 评论 -
fragment里面new一个Dialog报错
logcat错误信息(核心部分):android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application原创 2017-04-13 11:31:35 · 2070 阅读 · 0 评论 -
父fragment刷新子fragment无反应问题解决方法
项目遇见一个问题,父fragment在没有登陆的时候显示“登录”按钮,要求登录才能让子fragment的内容可见。其实点击父fragment的时候被隐藏不可见的子fragment就已经被创建了,但是这时候因为还没有登录,所以用户名是空字符串,没法通过用户名从服务器获取数据。这时候登陆完finish掉登录.activity,会执行父fragment.onActivityRes原创 2017-04-13 20:39:54 · 1759 阅读 · 0 评论 -
关于Android Fragment生命周期以及其他方法的调用执行顺序问题
总结:经过测试,onCreateView方法的调用在onActivityResult方法之前。原创 2017-04-11 15:30:44 · 2194 阅读 · 1 评论 -
android自动打开和关闭软键盘
打开和隐藏软键盘以及使用代码打开<非代码原因隐藏的软键盘>的方法原创 2016-11-24 19:57:00 · 1964 阅读 · 0 评论 -
Android studio中使用百度地图api获取定位遇到了sdk初始化问题
Android中百度地图初始化sdk时,SDKInitializer找不到。原创 2016-12-07 09:03:54 · 2113 阅读 · 0 评论 -
通过广播使Android程序完全退出
相信有过项目经验的同学都遇到过这样的问题,就是设计“退出”功能时可能会遇到有些界面不能关闭的问题。当然如果你的项目所有的界面都在打开另一个界面时被关闭就不存在这个问题了,但大多数情况下这样是很不合理的,因为每次要查看这个界面都需要重新加载数据。尤其对于需要走网络的数据显示,这不仅效率低而且成本高。网上大概有以下几种方法解决这个问题:(1) System.exit(0);(2)转载 2016-11-22 21:05:01 · 406 阅读 · 0 评论 -
android studio提示adb出现cannot parse version string:kg01这个错误的解决办法
使用android studio运行app时找不到AVD,真的很苦恼!查看logcat发现提示cannot parse version string:kg01。在同一台电脑上使用eclipse和android studio 时出现使用adb出现cannot parse version string:kg01出现这个错误的原因是酷狗有一个叫kadb.exe进程导致冲突,把kadb.e转载 2016-11-21 21:55:22 · 855 阅读 · 0 评论 -
ExpandableListView在onAvtivityResult方法里面展开group不成功
今天实现ExpandableListView展开和关闭group功能时,重写了onActivityResult方法和onResume方法。首先要知道展开group的方法是:exList.expandGroup(groupPosition);//groupPosition的值从0开始闭合group的方法是:exList.collapseGroup(groupPosition);/原创 2016-11-13 17:17:05 · 370 阅读 · 0 评论 -
ViewPager+Fragment中上下文菜单点击会顺次响应问题
再用ViewPager+Fragment实现上下文菜单点击事件,比如我有三个fragment- fragment 0/1/2,当点击fragment0里面的上下文菜单时,fragment 1/2的上下文菜单会依次响应,导致程序异常退出。解决方法:使用getUserVisibleHint()方法来判断fragement对用户是否可见。 @Override publ原创 2017-04-16 17:05:34 · 364 阅读 · 0 评论 -
activity的onCreate里面调用getResources().getStringArray(int id)报错
接触到一个项目,先前写过一个差不多的,因此就拿过来复制,然后把 string_array.xml 也一起复制了过来,代码跟以前的一模一样,但是运行报错:NotFoundException。意思是找不到我传入的 R.array.XX。对比了一下两个项目,发现原先写的项目的string_array.xml就是这个名字,复制到新项目中之后,在这个名字后面还有个小括号,里面有其他字原创 2017-04-20 21:59:29 · 4491 阅读 · 0 评论 -
自定义基类activity实现双击back键退出应用
上一篇文章我写了退出应用的其中一个方法:利用广播退出应用,地址:http://blog.csdn.net/gxp1182893781/article/details/77993561但是那种方法如果只是用来实现退出应用,似乎就太浪费代码量了,因为每一个activity都要创建listener并调用begin方法开始监听广播,还要在onDestory方法中反注册监听器,代码量似乎有点大。原创 2017-09-15 18:17:12 · 434 阅读 · 0 评论