![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 74
F-Fan
这个作者很懒,什么都没留下…
展开
-
android 使用path裁剪bitmap,以及Paint与Canvas的基本用法
原理:创建一个空白的bitmap。通过bitmap创建Canvas。在Canvas中绘制出path。设置画笔Xfermode为PorterDuff.Mode.SRC_IN。在Canvas中把需要裁剪的图片绘制出来即可。代码:Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);paint.setStyle(Paint.Style.FILL);//创建空白bitmapBitmap temp = Bitmap.createBitmap(width,原创 2021-06-08 16:16:08 · 2033 阅读 · 0 评论 -
Android NDK: Your APP_BUILD_SCRIPT points to an unknown file
ndk报错:Android NDK: Your APP_BUILD_SCRIPT points to an unknown file或者add-application.mk:88: *** Android NDK: Aborting导致原因:项目路径带有 空格、中文或其他非法字符导致!特此记录!...原创 2019-10-28 16:05:37 · 886 阅读 · 0 评论 -
android官方自带下拉刷新功能
最近想写下拉刷新功能,网上找的第三方框架最著名的pullToRefresh也早在2013年停止维护了,偶然间发现谷歌公司早已推出了自家的下拉刷新功能,位于v4包中,效果请看下图:使用的就是android.support.v4.widget.SwipeRefreshLayout控件,使用方法也很简单,首先把需要下拉刷新的listView放入SwipeRefreshLayout中,代码如下:xml布局:原创 2016-05-06 17:04:21 · 10567 阅读 · 2 评论 -
Android 高德地图入门详解
效果图: 教程: 由于官网的教程不是很详细,相信很多小白们有点看不懂,比如我,看的都是一脸懵逼,相比较而言,百度地图的教程要更详细一点!推荐新手先拿百度教程来练练手,熟悉下地图的业务逻辑,地图类逻辑都差不多,好了不多说,开始正文。 首先,去高德官网下载所需的地图库并申请key,附:http://lbs.amap.com/ 下载的jar包导入到as里面,然后配置清单文件: 权限:原创 2016-08-16 13:40:36 · 13768 阅读 · 5 评论 -
android 仿日历翻页特效、仿htc时钟翻页特效、数字翻页切换
废话不多说,效果图: 自定义控件找自网络,使用相对简单,具体还没有来得及深入研究,只是先用笨方法大概实现了想要的效果,后续有空会仔细研究再更新文章, 本demo切换方法是用的笨方法,也就是由新数字和旧数字相比较来切换数字变换的,大致使用方法如下: //获取输入框中的数字 int newNumber = Integer.parseInt(e原创 2017-07-11 21:56:04 · 5642 阅读 · 0 评论 -
Android每天定时提醒功能、定时功能、闹钟
这个是设置定时提醒的功能,即设置几点几分后提醒,用的是给系统设置个时间点,当系统时间到达设置的时间点的时候就会给我们发送一个广播,然后达到时间提醒功能 网上找了很多,遇到了很多坑,经过摸索出来的,比如下面设置重复时间的第二个参数,网上有很多说是执行提醒延时多少毫秒执行,我用的刷了MIUI的三星手机测试怎么都不对,经过摸索测试才发现,原来不是,原来那个参数是设定的时间点的毫秒值!好了,不多说,看代码原创 2016-07-22 12:52:24 · 32539 阅读 · 7 评论 -
Android Fragment真正的onResume和onPause
如果你的Fragment切换是replace方法,那就可以无视这个文章了,如果是显示隐藏,可以参考下 有的时候我们需要在当前fragment显示的时候重新加载数据,按照Activity的思路是在onResume()方法里面实现,但是Fragment虽然有这个方法,但是我们打印log会发现只是在Fragment加载的时候走这个方法了,但是显示隐藏都不会走这个方法,所以,我们需要寻找真正的on原创 2017-06-09 14:15:23 · 4126 阅读 · 0 评论 -
Android MultiDex 解决 64K 限制,方法数超过65535解决方法
参考一下文章:http://www.tuicool.com/articles/aiAf6fhttp://blog.csdn.net/zhangbuzhangbu/article/details/52770939https://stackoverflow.com/questions/33787030/android-studio-issue-in-build-gradle-uncaught-tr原创 2017-06-28 17:16:20 · 16174 阅读 · 0 评论 -
Android 解决在ListView历史复用中Edittext数据显示混乱
有这么一个需求,就是在ListView中,每个条目都有Edittext,需要把每个Edittext输入的数据保存到对应的bean中,想要的效果是这样的: 这样一看,也没什么难度嘛,顶多就是在adapter的getview中对Edittext设置个文本改变监听嘛,当文本改变就把数据存到bean中,于是,在adapter中写了这段代码: private Context context;原创 2016-05-27 14:41:57 · 12453 阅读 · 16 评论 -
Android 录音实现方法、仿微信语音、麦克风录音、发送语音、解决5.0以上BUG
本文修改自:http://www.jianshu.com/p/06eca50ddda4 效果图(注!由于使用的模拟器录制,所以图片中的录音时候话筒上下波动比较小,手机上正常!): 使用方法: 录音工具类:AudioRecoderUtils.java,代码如下:public class AudioRecoderUtils { //文件路径 private S原创 2016-06-24 10:33:21 · 40797 阅读 · 39 评论 -
Android 图片级别Level的使用
有的时候想要在同一个ImageView中根据不同的条件显示不同图片,会这么写,如:if (条件1){ image.setBackground(R.id.xxx1);}else if (条件2){ image.setBackground(R.id.xxx2);}else if ...... 其实我们可以使用另一个简便的方法实现相同的功能 首先,在res/dra转载 2016-06-24 10:49:26 · 9704 阅读 · 1 评论 -
Android 解决ListView里面多套布局多个EditText数据混乱问题
效果图: 参考:https://github.com/Aspsine/EditTextInListView 非常感谢 如果只是ListView里面只包含一套布局的话,可以参考这里:http://blog.csdn.net/fan7983377/article/details/51516155 这个效果的主要问题地方就是多套item和每个item内部的EditText数原创 2017-01-13 09:39:39 · 5075 阅读 · 2 评论 -
Android 解决miui中获取相册图片路径为null的情况
用miui系统上传图片的时候,会碰到从相册获取图片返回的图片为null,解决方法: public void activityResult(int requestCode, int resultCode, Intent data) { if (resultCode == 0) { return ; } //读取相册图片 PHOTO_ZOOM为启转载 2017-01-12 15:22:45 · 4244 阅读 · 0 评论 -
Android 压缩图片并转Base64方法之一
Android 图片压缩原创 2017-01-13 17:47:02 · 4419 阅读 · 0 评论 -
android RecyclerView一步步打造分组效果、类似QQ分组、折叠菜单、分组效果(一)
第二篇文章链接:android RecyclerView一步步打造分组效果、类似QQ分组、折叠菜单、分组效果(二)效果图: 之前看到这种效果如果用recyclerview来实现没有一点思路,感觉无从下手,知道偶然间看到鸿洋的博客:Android 优雅的为RecyclerView添加HeaderView和FooterView,突然来了灵感,对哦,可以用头布局来实现分组效果!有了思路,就拿原创 2017-09-14 15:22:16 · 20916 阅读 · 2 评论 -
android RecyclerView一步步打造分组效果、类似QQ分组、折叠菜单、分组效果(二)
第一篇链接:android RecyclerView一步步打造分组效果、类似QQ分组、折叠菜单、分组效果(一) 上一篇写了分组效果的初步实现: 这一篇就继续增加分组折叠效果和基类的抽取与解决上一篇的bug(item布局宽度match_parent没有生效)效果如下图: 三、点击头布局实现展开折叠效果根据上一片文章最后的代码,继续修改代码让RecyclerView实现点击班级布局可以显示隐藏原创 2017-09-14 15:23:51 · 5291 阅读 · 7 评论 -
android和java 通过UDP搜索同一局域网内指定网络设备
比如某些物联网设备,连接到网络后,会开启一个UDP,用于手机等移动设备的app搜索到,而且这个物联网设备通常会有一个默认的固定端口,我们只要通过向当前局域网的对应端口号发送消息广播,物联网接收到这个消息广播,会给我们回复数据,那么我们接收到这个数据的同时,也获取到了这个物联网设备的ip等基本的网络地址信息,从而去连接这个物联网设备。那么怎么给局域网发送消息呢?循环遍历网段下所有地址?这个太low...原创 2019-08-22 16:57:30 · 1881 阅读 · 0 评论 -
android 蓝牙、低功耗BLE开发问题总结
蓝牙设备连接、断开、发送消息连接蓝牙设备: BluetoothManager bluetoothManager = (BluetoothManager)getSystemService(Context.BLUETOOTH_SERVICE); BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapte...原创 2019-07-22 10:31:44 · 985 阅读 · 0 评论 -
AndroidStudio CMake和传统JNI的区别
摘自原文:android studio 使用CMAKE现在我们有了CMake和传统JNI两种开发NDK的方法,它们在目录结构和Gradle上有所区别,下面我们将分别介绍目录区别和Gradle配置的区别。一、目录结构 传统JNI CMake 这两种方式在目录上的区别就是两点:以前的jni目录改成cpp,名字更换了,下面还是存放C/C++文件。之前对C/C++文件的编译配置A...转载 2019-06-13 18:57:22 · 727 阅读 · 0 评论 -
Android 再次探究Fragment在各种情况下的onResume与onPause
之前写过一篇关于Fragment真正的onResume与onPause的文章,但是当时写的比较匆忙,并不是很严谨,导致问题多多,今天抽空更新下关于fragment在各种情况下的onResume与onPause的方法,首先附一张fragment的生命周期图:1. fragment通过replace方式使用fragment在该方式中使用,使用周期基本与图上的生命周期一样,onResume与onP...原创 2019-04-24 22:32:23 · 8311 阅读 · 1 评论 -
android retrifit2 返回体封装,Gson泛型解析的封装
本文参考原创 2019-04-03 14:03:48 · 1468 阅读 · 0 评论 -
android RecyclerView增加单击和双击,解决setOnTouchListener无效问题
产品的脑洞又双叒叕再一次大开,说到一个列表需要在原来上下滑动的基础上支持单击,双击,并且单击区分点击左侧和点击右侧,并且实现不同的功能(ps:幸好item里面没有点击事件,不然可能有点抓狂…)如下图:列表用的RecyclerView,对于需求,只能给RecycerView设置setOnTouchListener监听,而点击和双击实现呢,肯定想到了用GestureDetector来实现,至于Ge...原创 2019-03-14 15:29:07 · 9832 阅读 · 0 评论 -
android ViewGroup代码里addView时,子View的布局设置wrap_content失效问题
具体子View的测量模式和大小请看下表:解决方法:View childView = View.inflate(this, R.layout.guideview_left, null);//测量view的宽高int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);int h = View.Mea...原创 2019-03-08 17:14:58 · 2370 阅读 · 0 评论 -
android Fragment + FragmentStatePagerAdapter的恢复问题解决
你可能是这么使用 ViewPager + Fragment 这个组合的:public class MainActivity extends AppCompatActivity { private ViewPager mViewPager; private List<Fragment> mFragments; private CustomViewPagerA...转载 2018-12-11 15:46:01 · 2035 阅读 · 2 评论 -
android自定义时间选择器、24小时时间选择
效果图:奇葩的需求,24小时时间段选择器,GridView和RecyclerView都可以实现,但是如果需要按下移动选中会比较麻烦,这里使用自定义View实现的,代码地址:https://github.com/fan0424/TimeDemo...原创 2019-02-12 17:41:58 · 2430 阅读 · 0 评论 -
android 自定义Toast增加点击事件、Toast弹出隐藏动画、Toast宽度为match_parent
在自定义Toast的时候,可能会用到点击事件,但是android系统本身Toast只是用于提示,并不支持点击事件,即使自定义Toast也不支持点击事件,查看Toast源码可以发现,其内部的TN.class(该为私有类,外部调用不了)里面的WindowManager.LayoutParams 的flags属性有WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE...原创 2018-03-08 19:40:47 · 11696 阅读 · 6 评论 -
android ConstraintLayout初次使用笔记
昨天有空,试了下android之前出的新布局ConstraintLayout,初次使用,遇到了一些小坑,故在次记录一下 参考鸿洋的博客学习的:http://blog.csdn.net/lmj623565791/article/details/78011599 首先,弄一个简单的布局练练手: 这个还是蛮简单的,代码如下: <?xml version="1.0" encoding="原创 2017-12-14 10:37:02 · 342 阅读 · 0 评论 -
临时文本,草稿
package com.example.fanfeng.edittextdemo;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.text.Editable;import android.text.TextUtils;import android.text.Text原创 2017-10-19 10:23:45 · 496 阅读 · 0 评论 -
Android TextView两端对齐、文本两端对齐
如题,在开发中,经常会用到比如说类似于表格的排版,效果图: 这样的效果,谷歌也没给出这样效果的方法,网上查也没找到实现方法,然后想,中间用空格填充呢?试试,然后写了几个TextView对比一下,如下: 放大效果: 可以看出,不能完美对齐,这肯定不是想要的效果,然后就发现了两个占字符来实现: 他们与汉字换算关系就是1个汉字 = 4个原创 2016-08-17 11:28:03 · 22120 阅读 · 3 评论 -
Android封装好的类似于RadioGroup的底部导航或顶部导航、仿微信底部导航
这是从别人的Demo里面扒拉出来的,使用比较简单效果图:使用:在布局中加入自定义view:<fan.likeviewgroupdemo.widget.BottomBar android:layout_width="match_parent" android:layout_height="56dp" android:id="@+id/bb_bottom" />代码中:mBott原创 2016-07-13 11:11:09 · 2758 阅读 · 0 评论 -
android studio导入其他项目工程报错解决方法
Android studio(简称as),谷歌的亲儿子,基本是目前编写Android软件的最好的开发工具,之前用习惯了eclipse,刚开始使用as怎么都不习惯,但是,能坚持使用as一个月,你会发现,eclipse真不好用,as各种爽。个人推荐还在用eclipse的可以选择as试试 好了,闲话不多说,相信很多刚开始使用as时,会遇到各种各样的问题,比如我之前最头疼的就是导入别人的demo,原创 2016-06-15 10:21:47 · 25538 阅读 · 5 评论 -
android 简单的Edittext特效,悬浮标签
原文:点击访问效果图: 使用:依赖:compile 'com.wrapp.floatlabelededittext:library:0.0.6'使用方法很简单,把需要悬浮提示的Edittext控件外面包裹一个该控件就行,列子:<com.wrapp.floatlabelededittext.FloatLabeledEditText android:layout_width="match_pa转载 2016-06-07 10:17:55 · 3743 阅读 · 0 评论 -
Android 图片左上角、右上角标签tag
原文:点击访问效果图:使用方法:依赖:compile 'net.wujingchao.android.view:simple-tag-imageview:1.0.1'布局文件:<net.wujingchao.android.view.SimpleTagImageView android:id="@+id/stiv" android:layout_margin="12dip" and翻译 2016-06-12 16:26:45 · 6472 阅读 · 0 评论 -
Android 官方自带的Edittext悬浮标签
效果图:使用方法:依赖:compile 'com.android.support:design:22.2.0'使用:布局:<android.support.design.widget.TextInputLayout android:id="@+id/textInputLayoutName" android:layout_width="match_parent" android原创 2016-06-12 15:03:08 · 5509 阅读 · 1 评论 -
android 封装好的ViewPagerIndicator指示器
代码修改自网上找的效果图:使用方法:一、下载代码:点击下载二、提取ViewPagerIndicator.java复制到你自己的工程里面,复制全类名加入到你想要显示Indicator的布局文件中,例如://指示器<fan.viewpagerdemo.ViewPagerIndicator android:layout_width="match_parent" android:layou原创 2016-06-08 15:35:11 · 727 阅读 · 0 评论 -
android Material Design风格自定义控件
随着安卓的不断升级,有些控件越来越具有美观,比如说安卓5.0的按钮效果,等等,有一些情况下,我们需要在低版本上实现这种效果,所以就在网上找来啦一些封装好的控件,使用也比较简单。本篇摘自:点击访问原作者文章效果图:使用方法:添加依赖:compile 'net.qiujuer.genius:ui:2.0.0-beta4'使用方法:像使用button、textview一样在布局文件中加入想要的控件就可以啦翻译 2016-06-03 13:35:17 · 2644 阅读 · 0 评论 -
Android 图片模糊、高斯模糊、毛玻璃的三种实现方法
在前几天写过一个使用glide-transformations的方法实现高斯模糊的方法,今天偶然间有发现一个大神写的另一个方法,感觉挺不错的,分享一下:效果图:原文链接:点击访问这使用也很简单,导入依赖,使用模糊方法就行,就这两步搞定依赖:compile 'net.qiujuer.genius:blur:2.0.0-beta4'实现方法有三种,第一个是java实现的,第二个和第三个是调用c语言实现的转载 2016-06-02 16:21:46 · 23850 阅读 · 3 评论 -
Android颜色分解与添加透明度
颜色分解:/** * RGB分解 * * @param rgbColor 需要分解的颜色 * @return int 数组 */ public static int[] getRGB(int rgbColor) { int red = (0xff0000 & rgbColor) >> 16; int green = (0xff00 & rgbColor)原创 2016-06-07 14:29:13 · 3322 阅读 · 0 评论 -
Android 侧拉菜单时标题做动画
我们在app上或网上经常会看到这样的效果,如图:其实想实现这个效果很简单,需要用到v4包和v7包。效果分析:首先,这个效果大体上有ToolBar 和 DrawerLayout组成,所以我们把跟布局设置成LinearLayout 方向设为垂直方向;然后放置v7包中的ToolBar和V4包中的DrawerLayout,然后在DrawerLayout中写好内容区域与侧拉菜单区域,代码如下:xml代码:原创 2016-05-05 16:52:30 · 895 阅读 · 0 评论 -
Android使用Popupwindow实现悬浮菜单功能
下面要实现这样一个功能,点击“+”打开菜单,再次点击或者点击其他地方关闭菜单,点击菜单里内容实现具体功能下面是做好的效果图下面分析一下思路,圆形的悬浮按钮实现方法有很多,就不一一细说了,本文就使用ImageView实现了,弹出的菜单之前思路有两种,第一种,写布局实现,第二种,弹出PopupWindow实现,很明显,第二种效果要更好一些,本文也是使用的PopupWindow,代码如下:布局文件:act原创 2016-04-25 15:23:48 · 6265 阅读 · 7 评论