
android
文章平均质量分 57
dandelionsnow
自己平时所学习的一些东西,方便自己以后用到
展开
-
解决由启动页跳转到主页面时状态栏闪烁卡顿问题
最近才发现,项目在从启动页SplashActivity跳转到MainActivity时,发现MainActivity在出现但瞬间,状态栏会出现闪烁的问题,给人一种卡了一下的感觉,简直不能忍。然后发现是因为SplashActivity 页面设置为全屏效果,而MainActivity则没有设置,是默认的非全屏效果设置,这就导致从全屏跳转到非全屏界面的瞬间,顶部的状态栏突然跳出来,插入在屏幕顶端,造成页面出现一次蜜汁卡顿。解决方法很简单,在 Activity 切换之前,把 Splash 页面的全屏通过原创 2021-03-02 10:47:27 · 1060 阅读 · 0 评论 -
记录一次 android activity通过 intent传值失败
问题:今天在修复项目bug时,需要通过Intent 来传值控制主Activity tab切换,但是在返回MainActivity时,发现收不到intent传递到数据,然后检查一下代码,发现传递的Key和获取的Key都没错,但是为什么在目标Activity会获取不到传递过来的数据?然后查资料,发现是Activity的启动模式导致的,MainActivity 设置的启动模式是singleTask ,也就是说,如果目标Activity的实例已经存在并且符合要求,则不会再创建相应的实例,因此在Ac.原创 2020-08-27 15:31:38 · 1320 阅读 · 0 评论 -
WebView加载网页不显示图片解决办法
对于大家来讲WebView肯定很熟悉,因为我们在日常开发中经常用到它。所以对于它的一些基本用法我就不在这啰嗦了,直接进入正题。我遇到的问题就是在使用WebView加载网页的时候图片不显示(我手机系统是5.1.1),当时出现这个问题我就想当然的以为,是不是给WebView少设置的什么东西。然后百度一下:mWebview.getSettings().setJavaScriptEnabled(true);//启用jsmWebview.getSettings().setBlockNetworkImag转载 2020-08-27 15:33:50 · 4127 阅读 · 2 评论 -
记录一次,getIntent().getParcelableExtra()接收数据错乱
项目涉及到通过Intent 传递一个Object对象,然而,在接收数据时,发现出现了数据错乱的问题,最后查出原因,是实体bean,在进行Parcelable序列化时,没有按照成员变量声明的顺序读取数据,导致出现获取数据出错在一个实体类进行Parcelable序列化时,必须实现Parcelable.Creator接口,以及writeToParcel(Parcel dest, int flags)...原创 2020-01-17 17:53:49 · 8658 阅读 · 0 评论 -
android保存图片到本地并可以在相册中显示出来
项目里新添加保存图片功能,在测试时,发现当将图片保存到本地时,打开手机相册并不显示保存成功的图片,于是经过各种查阅和百度发现原因如下:因为手机系统相册是由手机本身的自带系统管理的,我们在进行自己app的操作时并不能直接控制手机的自带系统,所以即使存储图片成功了,在显示的时候手机并不知道图片库已经有更新,除非调用过手机摄像头拍摄,所以解决方案就是我们手动的发一个广播来通知手机系统图片有更新。发送...转载 2020-01-06 10:03:24 · 2414 阅读 · 0 评论 -
Android canvas.drawBitmap讲解
1,基本的绘制图片方法drawBitmap(Bitmap bitmap, float left, float top, Paint paint)参数://Bitmap:图片对象,left:偏移左边的位置,top: 偏移顶部的位置2, drawBitmap( Bitmap bitmap, Rect src, Rect dst, Paint paint);这里由2个Rect,第一个...原创 2019-12-24 17:47:47 · 14371 阅读 · 1 评论 -
用Activity 书写一个dialog
在项目中的用到弹窗时,一般都会用Dialog,其实可以使用Dialog样式的Activity来实现,只需要在注册Activity时指明theme就行。下面就记录一下这个Dialog的创建过程,以及一些遇到的坑。第一步:创建一个DialogActivity,继承自Activity,第二步:在注册清单里给这个Activity,添加主题样式theme, <activity ...原创 2019-12-23 17:42:28 · 334 阅读 · 0 评论 -
Android将内容复制到剪切板
近期,项目里需要用到将部分内容复制到剪切板,以前用到都是随用随找,挺麻烦的,最近整理一下,在这里记录一下其实Android提供的剪贴板框架,Android提供ClipboardManager、ClipData.Item和ClipData库使用复制和粘贴的框架,可以进行复制和粘贴不同类型的数据,使用就三个步骤:1,通过调用getSystemService()方法来实例化Clipboard...原创 2019-12-16 19:54:27 · 5013 阅读 · 0 评论 -
将bitmap转换为Byte[], 将view转换为bitmap,将url转为bitmap等
No1.将一个View 布局,转换为Bitmap: public static Bitmap getViewBitmap(View v) { v.clearFocus(); v.setPressed(false); boolean willNotCache = v.willNotCacheDrawing(); v.setWill...原创 2019-12-16 19:15:49 · 342 阅读 · 0 评论 -
Parcelable接口的使用
什么是Parcelable ? Parcelable,定义了将数据写入Parcel,和从Parcel中读出的接口。一个实体(用类来表示),如果需要封装到消息中去,就必须实现这一接口,实现了这一接口,该实体就成为“可打包的”了。Parcelable 传递对象 Android序列化对象主要有两种方法: 1.实现Serializable接口,实现Serializ...转载 2019-11-12 16:01:56 · 334 阅读 · 0 评论 -
Java Date,long,String 日期转换
1、java.util.Date类型转换成long类型java.util.Date dt = new Date();System.out.println(dt.toString());//java.util.Date的含义long lSysTime1 = dt.getTime() / 1000;//得到秒数,Date类型的getTime()返回毫秒数2、由long类型转换成D...转载 2019-11-04 18:12:54 · 294 阅读 · 0 评论 -
使用android的TextToSpeech控件实现文字转语音
近期项目中用到语音转文字,原本打算使用第三方sdk,后来发现安卓原生就提供了一个类处理这个事务。TextToSpeech无需集成,使用起来也更简单,在这里记录一下TextToSpeech,这个控件的好处是朗读文字不需要任何的权限,其次不用联网避免了如讯飞的联网登权限(讯飞其实也不错,比较智能,缺点是该控件只能读取简单的文字)使用:布局: <EditText ...原创 2019-08-15 13:33:16 · 1201 阅读 · 0 评论 -
Android 调用谷歌语音识别:获取识别结果,进行文字输出
调用android 谷歌语音识别 ,获取识别结果,首先添加权限:<uses-permission android:name="android.permission.INTERNET" />实现步骤:先初始化一个语音识别请求,调用系统语音识别功能,返回识别结果。直白点就是在点击事件 直接利用 intent 跳转到手机里面的谷歌搜( 如果手机没有谷歌搜索,哦豁,你不能用这个...原创 2019-08-15 15:11:40 · 2074 阅读 · 0 评论 -
Android原生SpeechRecognizer(语音识别)
开篇先吐槽下,在Android 平台开发原生的SpeechRecognizer真是难受的,不像ios,无比轻松,平台统一。 由于Android 平台的碎片化问题比较严重,各个厂商都有自己的实现,尤其是语音助手出来以后,每家的语音服务肯定是不一样的。目前Android原生的SpeechRecognizer做法应该有两种默认调用原生SpeechRecognizer,并稍作修改 调用第三方...转载 2019-08-15 15:37:08 · 6911 阅读 · 2 评论 -
Android实现主页底部菜单中间tab图案凸起
最近公司提出新的UI修改方案,就是下首页底部tab中间一个tab图案向上突出一部分,如图demo所示:因为原来的代码底部导航栏使用的是:LinearLayout + ImageView + TextView 组合,所以:在这里用到了一个及其重要的属性:android:clipChildren=”false”。(放在其父布局使其生效,达到想要的效果)意为是否允许子View超出父Vi...原创 2019-02-28 15:10:31 · 8420 阅读 · 3 评论 -
自定义带删除按钮的EditText
公司产品更新ui,在输入框后面增加清除输入内容的按钮,原本想在布局文件里直接修改,但是发现布局会多层嵌套,而且还没办法复用,于是自己自定义一个EditText,去实现这个功能,在这里记录一下。public class ClearEditText extends android.support.v7.widget.AppCompatEditText implements OnF...原创 2019-08-05 18:23:22 · 315 阅读 · 0 评论 -
实现带有下划线的TextView
最近业务涉及到一个添加下划线的TextView,所以在这里记录一下实现的几种方法。第一种:在drawable中自定义一个xml文件,可以自定义横线位置、高度和颜色。<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/and...原创 2019-08-02 18:10:57 · 518 阅读 · 0 评论 -
Android 透明状态栏
转载:https://blog.youkuaiyun.com/fan7983377/article/details/51604657最近公司产品提出透明状态栏的要求,将一张背景填充满屏幕,自己记录一下:Android 透明状态栏:有两种,背景是图片还是纯色,下面分开讲:1.当背景为图片时,布局可以这么写:方法1,在代码onCreate()方法里书写下面代码:if (Build.VERSI...转载 2019-03-04 14:50:04 · 6896 阅读 · 2 评论 -
Android 仿钉钉、微信 群聊组合头像 CombineBitmap
前段时间,产品提出群组头像改为类似微信的九宫格图像,于是在网上找了一个非常好用的控件CombineBitmap,在这里记录一下。作者的GitHub项目地址:https://github.com/Othershe/CombineBitmap效果预览: 功能生成类似钉钉、微信 群聊组合头像Bitm...转载 2019-03-06 16:37:45 · 1180 阅读 · 1 评论 -
使用ButterKnife报错,记录一下,
错误描述:问题1:在gradle中引入: implementation 'com.jakewharton:butterknife:10.1.0'项目 在编译:butterknife ”build 时报下面的错误error: resource android:attr/fontVariationSettings not founderror: resource android:attr...原创 2019-02-28 10:29:47 · 1129 阅读 · 1 评论 -
Android Studio生成.9.png图片
转载自 :https://blog.youkuaiyun.com/oudetu/article/details/78968067 .9图是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png,.9图可以将图片横向和纵向同时进行拉伸,以实现在多分辨率下的完美显示效果。.9图最常用的是聊天记录的背景框,因为一段文字长度是非固定的,背景框需要根据文字的长短来改变大小。本文是介绍在...转载 2019-01-08 18:56:11 · 7705 阅读 · 0 评论 -
Glide:4.8.0基础使用
参考:https://blog.youkuaiyun.com/mars314/article/details/80653795首先,添加依赖implementation 'com.github.bumptech.glide:glide:4.8.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'之后添加访问网络权...原创 2019-01-24 14:03:31 · 15725 阅读 · 3 评论 -
Android各种Drawable基础讲解以及使用实例
转载自 :https://blog.youkuaiyun.com/linghu_java/article/details/42119969 Android把可绘制的对象抽象为Drawable,不同的图形图像资源就代表着不同的drawable类型。Android FrameWork提供了一些具体的Drawable实现,通常在代码中都不会直接接触Drawable的实现类。 ...转载 2019-01-08 17:05:28 · 1657 阅读 · 0 评论 -
Android Studio 视图预览不显示了,
新建项目视图无法预览,右上角飘红点开后,显示:Failed to load AppCompat ActionBar with unknown error.然后百度各种方法无法解决,根据这个错误,预判到可能是ActionBar的问题,我们找到style.xml,找到使用的application主题:<style name="AppTheme" parent="Them...原创 2019-01-07 16:30:04 · 6349 阅读 · 0 评论 -
webview加载完成监听
最近由于产品需要,一个页面上部分是一个WebView, 下面是一些文字介绍,但是在赋值时,HTML网页加载会消耗一定时间,在其加载过程中,文字已经展示出来,给用户的体验很不好,所以我就想在webview加载成功结束后再给文字赋值,于是在网上搜到:当加载成功的时候会回调WebViewClient的onPageFinished方法;当加载失败的时候会回调WebViewClient的onReceived...原创 2019-03-12 14:21:10 · 14687 阅读 · 2 评论 -
Android 6.0新控件 BottomSheetDialog的使用及遇到的问题 | 底部对话框中输入框被系统键盘遮挡住一部分
Android Support Library 23.2里的 Design Support Library新加了一个Bottom Sheets控件,Bottom Sheets顾名思义就是底部操作控件,用于在屏幕底部创建一个可滑动关闭的视图,可以替代对话框和菜单。其中包含BottomSheets、BottomSheetDialog和BottomSheetDialogFragment三种可以使用。其中...原创 2019-03-13 15:54:41 · 3861 阅读 · 0 评论 -
在代码中动态设置控件的高度以及宽度
最近业务修改,需要将一个控件宽高放大至原来的1.5倍,由于该控件在项目里多个地方用到,不方便直接在xml文件里直接修改,所以考虑在代码里动态设置。代码如下: RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) mIvCollect.getLayoutParams(); lp.width = (i...原创 2019-07-25 14:11:16 · 1315 阅读 · 0 评论 -
解决 Only fullscreen opaque activities can request orientation 问题
有业务需要,上午把项目升级到8.0,心情美美的,然后一运行app,立刻崩溃,一脸懵逼,一看报错日志:Only fullscreen opaque activities can request orientation经过度娘知道,应该是API 27的新规矩:只有占据整个屏幕的 Activity 才可以设置横竖屏,半透明/对话框等不可设置横竖屏。好吧~找到问题所在,自然是解决问题,...原创 2019-06-26 13:08:32 · 281 阅读 · 0 评论 -
Glide图片加载成功回调监听
Glide.with(this) .load(url) .error(R.mipmap.ic_nodata) .listener(new RequestListener<String, GlideDrawable>() { @Override public boolean onExcept...原创 2019-05-22 17:36:43 · 11812 阅读 · 0 评论 -
Android中获取当前正在显示的Activity实例
当前开发中需要中用到工厂模式,需要在其中一个模块用到当前Android实例,所以记录一下如何获取当前正在显示的Activity实例,1.监听Activity的生命周期在Application的onCreate方法中监听Activity的生命周期 registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {...转载 2019-04-09 18:36:49 · 3711 阅读 · 0 评论 -
Intent 传递枚举类型数据
最近项目中需要用Intent传递枚举类型的数据,以前只传递过基本类型,通过实验,发现可以使用序列化对象保存enum对象,如下内容:bundle.putSerializable(String key , Seralizable data) ;//向Bundle放入一个可序列化的对象举个栗子:枚举: /** *水果的枚举类型 */ public enum...原创 2019-03-28 11:12:32 · 5456 阅读 · 0 评论 -
Android中实现延时执行操作的几种方法
转载自:https://blog.youkuaiyun.com/mq2856992713/article/details/52005253目前开发涉及到一个延迟操作场景:点击一个按钮,实现一个旋转动画,2秒钟后,然后需要跳转到一个新页面的操作,(比如微信收红包的操作)在这里记录一下几种实现延时执行操作的方法:1.使用线程的休眠实现延时操作 new Thread() { ...转载 2019-03-27 17:03:44 · 12398 阅读 · 0 评论 -
Android 身份证号码校验
转载自:https://blog.youkuaiyun.com/leifengpeng/article/details/50624259,方便自己记忆public class IDCardValidate { public static final String[] ValCodeArr = { "1", "0", "x", "9", "8", "7", "6", &转载 2018-12-10 16:51:32 · 1180 阅读 · 0 评论