自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (6)
  • 收藏
  • 关注

原创 android 8.0适配 —— app自动更新问题

android7.0适配参见链接Pro1:安装时解压缩错误原因:setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)和addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)顺序问题.如果setFlags在addFlags之后,会将之前的flag清掉,导致读取权限获取不到,进而解压缩出错。final Fil...

2019-06-24 10:34:01 861

原创 ViewPager卡片效果(一)——画廊效果

目录1 PageTransformer介绍2、画廊效果2.1 普通画廊2.1.1 布局2.1.2 定义自己的PageTransformer2.1.3 使用2.2 3D画廊Preference1 PageTransformer介绍PageTransformer是ViewPager内部定义的一个接口,用于控制ViewPager中item view的滑动效果...

2019-05-07 15:30:14 1351

原创 RecyclerView不能铺满屏幕宽度

使用View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.check_item, parent,false);//解决宽度不能铺满代替之前的View view=View.inflate(context, R.layout.child_himonet_detail,null);...

2019-01-17 14:58:46 1832

原创 Resources$NotFoundException: String resource ID #0xa

Resources$NotFoundException: String resource ID #0xa原因:TextView.setText()时传入了数字,而非字符串。

2019-01-16 15:51:55 3091

原创 Glide插件的使用

1、添加依赖compile 'com.github.bumptech.glide:glide:3.6.1'2、使用(网络图片+本地图片) 圆角效果不显示、以及刷新后图片变形问题,已在下方代码中有所解释:public class GlideUtils { public static final int FIT_CENTER=0;//默认 public static...

2018-11-30 15:45:51 652

转载 android 动画跨布局显示,被其他控件遮盖问题

 在该动画的所有父布局上添加以下代码:android:clipChildren="false"android:clipToPadding="false"ps:该动画执行View所在父布局,以及外层父布局....直至根布局,均要设置。android:clipChildren     子View是否限制在父View之中。默认true,超出部分不显示。android:clipToPa...

2018-11-28 16:02:24 1705

原创 使用DialogFragment,解决PopupWindow中EditText无法复制粘贴问题

问题:PopupWindow中,EditText无法使用复制粘贴功能。方法:使用DialogFragment实现。 package com.example.administrator.dialogfragmentdemo;import android.content.Context;import android.content.DialogInterface;import a...

2018-10-29 14:26:04 1093

原创 Glide使用时,遇到You cannot start a load for a destroyed activity

方法:在onResume()和onPause()中分别添加以下代码: @Override protected void onPause() { super.onPause(); Glide.with(this).pauseRequests(); } @Override protected void onResume() {...

2018-09-30 14:21:28 993

原创 android6.0/7.0以上拍照崩溃or闪退,FileUriExposedException

1、问题 ① SecurityException ② FileUriExposedException      2、原因及方法(1):SecurityException无法调起相机     原因: 权限问题     方法:android6.0以上,需要动态获取camera权限,否则无法调起系统相机。【注意,另外的读写权限不可忽略,也需要动态获取】priva...

2018-09-19 11:55:29 1804

原创 自定义TextView,实现文本展开与收起

目录1、功能2、思路 / 方法3、设计实现 3.1 变量说明:3.2 自定义View具体步骤3.3 使用自定义View 4、参考1、功能(1)支持全文展开/收起(按钮紧跟着文本后面显示,非另起一行),见下图。(2)可设置收起时最大显示行数;(3) 可设置“展开/收起”的具体文字显示、字体颜色,是否带省略点等;(4) 支持 “展开/收起”点击事件(即,后...

2018-08-02 10:40:48 1311

原创 Python2.7安装

1、下载安装包       Python官网:https://www.python.org/     ps:注意安装包需要下载的是64位还是32位的(根据电脑系统而定)2、安装    除了安装路径,其他一路Next到最后finish。安装好后,打开“开始”》“Python xxx”》“IDLE(Python GUI)”即可打开用户交互界面进行操作了。3、配置环境变量计算机》属性》高级系统设置》环境...

2018-06-15 09:51:14 423

原创 Android在线客服——云旺即时通讯界面自定义

本篇基于云旺OpenIM进行设计。1、界面:写一个类继承IMChattingPageUI。比如,重写下面的getCustomTitleView()方法,可设置聊天界面的标题栏(设置标题名以及返回键等):@Overridepublic View getCustomTitleView(final Fragment fragment, Context context, LayoutInflater i...

2018-06-11 18:44:37 1437

原创 Android Studio删除依赖

①在build.gradle中删除对应依赖代码(这里我注释掉,因为会用到)②检查工程中的依赖点击"file">>“project structure”>>选择右边的“dependencies”,如果有需要删除的的依赖包(仓库、jar包之类),点击“-”进行删除即可。③自行添加jar包的,还需把工程下的jar包文件删除。...

2018-06-11 18:23:01 4439

原创 Android即时通讯 —— 在线客服功能

本篇借助于“阿里云旺”进行试验。目前,其即时通讯模块均为免费。步骤1、引入OpenIMSDK【配置build.gradle文件】第一种方法:配置maven仓库地址①配置仓库//【0】云旺准备 ----集成repositories { maven { url 'http://repo.baichuan-android.taobao.com/content/groups/BaichuanRe...

2018-06-11 18:08:30 5552 2

转载 自定义Dialog去除白色背景 + Dialog其他用法

1、去除白色背景加上下面这句代码:dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);2、点击屏幕其他地方,以及返回键不消失dialog.setCanceledOnTouchOutside(false);// 设置点击屏幕其他地方Dialog不消失dialog.setCan...

2018-06-08 14:08:25 3278

原创 Android后台播放音乐(含通知栏操作)

功能①按下home键回到桌面时,音乐仍然可以播放,同时系统通知栏显示当前音乐播放的状态;②点击App界面的按钮,可控制音乐播放的暂停继续,同时系统通知栏播放状态作相应改变;③点击系统通知栏按钮控制音乐播放暂停,同时App界面播放状态作相应调整;④App播放界面销毁时,清除通知栏对应信息(即播放的控制View)实现步骤小提示:本篇是基于网络音乐进行相关操作的,如果是本地音乐,操作差不多。(1)绑定服...

2018-06-06 14:04:54 17254 3

原创 Android视频播放器(支持https、全屏缩放)

相关总结: JiaoZiVideoPlayer黑边以及黑色阴影问题Android视频播放器——JiaoZiVideoPlayer / JiaoZiVideoPlayer进度问题 Android视频播放器——JiaoZiVideoPlayer / JiaoZiVideoPlayer 的常用方法(一) 节操播放器问题的较完整总结(上)...

2018-06-01 10:47:50 4508

原创 JiaoZiVideoPlayer黑边以及黑色阴影问题

1、缩略图边缘位置出现黑色阴影方法:①将缩略图的scaleType设置为FIT_XYplayerVideo.thumbImageView.setScaleType(ImageView.ScaleType.FIT_XY); ② 写一个类,继承JZVideoPlayerStandard,并重写getLayoutId()。该方法常用于自定义布局。  @Override ...

2018-05-31 17:30:57 3722 3

原创 自定义View之基础篇——常见分类与构造方法

1、自定义View的分类    (1)按照继承的基类来分,可以划分为:View 、ViewGroup。    其中View类,可以是View,也可以是具体的某个控件eg.ImageView;ViewGroup,可以是任何一个可以包含子view的容器,eg.LinearLayout。    (2)按照实现的方式分  方式 继承自 ...

2018-05-21 16:04:16 230

原创 Android颜色相关小知识

1、四种常见形式Bitmap.Config的几个枚举类型    ARGB_8888、ARGB_4444、GRB_565、ALPHA_8颜色模式说明每像素占用内存(byte)ARGB_8888四通道高精度(32位)4      (8bit*4=32bite=4byte)ARGB_4444 四通道低精度(24位)2      (4bit*4 =16bit=2byte)RGB_565仅存储颜色信息,无透...

2018-05-18 16:48:16 243

原创 自定义View之基础篇——PorterDuff

前言本章主要介绍颜色渲染器PorterDuff。PorterDuff其实来自两个人名:Tomas Porter和Tom Duff。利用PorterDuff.Mode,我们可以实现图片的任意叠加混合,eg.实现画图中的橡皮擦功能、显示圆形图片等等 1、核心代码以圆和矩形为例。dst为下层,是先画的图形(这里我选择的是灰色的圆);src为上层,后画的图形(我选用的是蓝色矩形)。实验...

2018-05-18 16:34:33 3474

原创 Caused by: java.lang.NoSuchMethodException: <init> [class android.content.Context, interface androi

(1)问题    自定义控件时,报一下错误: Caused by: java.lang.NoSuchMethodException: &lt;init&gt; [class android.content.Context, interface android.util.AttributeSet](2)解决方法添加构造函数时,该方法必须复写,否则报错。public xxView(Context co...

2018-05-16 18:05:07 565

原创 Android自定义View之基础篇——坐标系

1、前言手机屏幕坐标系与数学坐标系的不同,主要留意y轴方向。2、手机坐标系(1)屏幕坐标系/Android坐标系以屏幕左上角为原点。如图所示,图中绿色边框位置为屏幕所在区域,其中绿色边框左上角为原点。(2)View坐标系如图,手机屏幕区域,即上图绿色边框围裹部分,可分为状态栏(即wifi信号、电量显示区)、标题栏、View可绘制区域。其中,标题栏和可绘制区域为我们的...

2018-05-14 17:51:25 1096

原创 android中dp、px、sp转换

1、通用写法:/** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */public static int dp2px(Context context, float dp) { //获取设备密度 float density = context.getResources().getDisplayMetrics().density; //4.3, 4.9, ...

2018-05-14 17:50:25 130

原创 View的学习(一)

本章主要讲述View的几个常用方法,对于后期自定义控件非常有用。1、requestLayout()在API文档中有这样的介绍: Layout is a two pass process: a measure pass and a layout pass. The measuring pass is implemented in measure(int, int)......The second p...

2018-05-14 17:49:17 164

原创 自定义View 之基础篇——获取控件宽高

1、getMeasuredHeight() 与 getHeight()getMeasuredHeight():获取控件实际高度,包括显示的部分和超出屏幕的部分。它的值与屏幕无关。getHeight():获取控件在屏幕中显示的高度一般情况下getMeasuredWidth和getWidth方法的值是一致的。使用:(1)一般情况下,除了在onLayout方法中调用getMeasuredWidth方法外...

2018-05-14 17:45:33 11788 1

原创 Android视频播放器——JiaoZiVideoPlayer / JiaoZiVideoPlayer进度问题

(1)需求项目中,如果需要保存进度,以便下次继续播放或者始终从头开始播放,就需要考虑设置进度的问题。(2)使用情况一,始终从头开始播放:jzVideoPlayerStandard.SAVE_PROGRESS=false;//不保存进度设置此句即可。情况二,保存进度,下次直接续播:具体方案,网上均有,比如Android JiaoZiVid...

2018-05-10 17:32:14 5127 4

原创 Android视频播放器——JiaoZiVideoPlayer / JiaoZiVideoPlayer 的常用方法(一)

1

2018-05-10 17:17:02 4485

原创 Android获取app版本信息

1、获取包的信息private static PackageInfo getPackageInfo(Context context) { PackageInfo pi = null; try { PackageManager pm = context.getPackageManager(); pi = pm.getPackageInfo(context.getPac...

2018-05-04 09:18:19 693

原创 android开发解决华为手机“屏幕背景透明不兼容”

/** * 设置添加屏幕的背景透明度 * @param bgAlpha 透明度 0-1 * @param activity */public static void backgroundAlpha(Activity activity,float bgAlpha){ WindowManager.LayoutParams lp = activity.getWindow().get...

2018-05-03 19:48:25 2265

原创 Android 使用Glide加载图片变形(拉伸)

(一)场景ImageView可通过scaleType属性设置图片填充方式,但是使用Glide加载时,有时会出现明显失真,图片会被拉伸变形。(二)方法①保留布局文件中设置的scaleType属性设置;② 加载图片方式设置Glide.with(context). load(temp.toString()) .asBitmap().fitCenter() //刷新后变形问...

2018-05-02 10:41:30 7257

原创 android studio 查看源码 —— 测试ok

1、当我们ctrl点击时,发现找不到相应资源,如图所示。若是之前已下载,跳过该步,直接第二步(判断有没有下载,可查看sdk下载目录下source文件内有没有对应api即可)点击“DownLoad”,进入下载页,或者点击工具栏的“sdk manager”,进入下载页 》勾选右下角的“show package details”,查看API对应的source有没有下载,,选中后,点击apply。2、下载...

2018-04-04 14:25:31 367

原创 Android Studio 非正常关闭再打开时报错

1、问题描述本人由于使用软件杀毒,在未关闭Android Studio的时候重启电脑,造成AS重新打开时,报如下错误:Unknow facet type:'android-gradle'Unkow facet type:'android’Unknow facet type:'java-gradle'2、解决方法File&gt;&gt;Settings&gt;&gt;Plugins,找到Androi...

2018-02-28 17:35:00 1376

原创 Android 微信/QQ分享图片黑边问题

(1)问题产生的原因前提:本人是通过将ImageView中图片保存为本地的方式,继而进行分享的(文章结尾会附上实现方式),xml布局时,图片的大小为包裹布局。问题:如下,QQ显示存在黑边。经过研究,发现QQ将该图转存到本地时,也是黑边显示(QQ可能也是将整个控件的内容绘制后保存的)。而将改图替换成其他图片时,部分图片又显示正常。故猜测:黑边问题可能跟QQ端ImageView的scalety

2018-02-05 09:58:05 3685

原创 Android视频播放器——JiaoZiVideoPlayer的简单使用

(1) 需求因项目需要,前端需要实现https视频播放功能,能够支持全屏缩放、进度拖拽、重力感应横竖屏切换,故采用该框架。JiaoZiVideoPlayer前一版为JieCaoVideoPlayer,如果项目中不需要支持https,用上一个版本也可以。使用上也就是前一版本setup()会有返回值,当其返回true时加载缩略图即可。(2)使用①在buid.gradle中添加依赖c

2018-01-22 17:20:36 3315

原创 Android 请求数据时,报错 "HttpException:HTTP 503 Service Temporarily Unavailable”

(1)场景http请求数据时,报以下异常  :同时,后台也检测不到接口请求的痕迹,但是有时再试一下又行了。(2)解决思路①后台连接数量可能限制,比如1s内同一个人只能请求一次等,或者排查一下有没有默认设置eg.多长时间内可连接数量;②服务器的配置,比如带宽、空间等是不是够用③最后,查看代码是不是出现问题

2018-01-16 14:41:49 3325

原创 http/https请求数据时,出现的常见异常判断

在请求数据出现问题时,我们往往需要判断一下是数据提取问题,还是网络/服务器异常问题。前者,在开发过程中自行判断;后者情况下,我们会予以提示,eg.提示“连接异常,请检查网络”等字段。此时单独再去判断一下网络感觉没有必要,我们可以捕捉这些异常,然后予以判断。以下就是本人App中常用的:if( s.contains("ConnectException") || s.contains("So

2018-01-16 14:13:31 5284 1

原创 PtrClassicFrameLayout+RecyclerView下拉刷新组件与ConvenientBanner/ViewPager 事件冲突

1、场景分析:(1)场景:下拉刷新包裹一个带head的listview,而head包含一个横向滑动的控件eg.ViewPager。测试会发现,ViewPager等横向控件左右手动滑动不太流畅。而且必须是严格的水平滑动(△x>0 ,△y=0)情况下,左右互动才会触发。补充说明: PtrClassicFrameLayout+RecyclerView:一组上拉加载下拉刷新组件

2017-12-26 17:15:39 1492

原创 android tint着色器(蒙层/阴影等)

1.需求分析:  当我们需要同一张图片进行细微处理(eg.图片的颜色变暗、变浅等)时,一般的做法有以下几种:①通过alpha设置透明度,让一个深颜色的图片变浅  ———— 该方法适合有透明需求时②通过selector切换图片 ———— 该方法往往伴随着点击等事件。而且若是图片原型相同,仅为改变里面的部分参数如色值等而用此方法,容易造成资源的浪费,以及最后安装包的过于庞大。因此,

2017-12-20 19:35:43 1981

原创 Scrollview嵌套listview等控件时,页面显示不在顶部

Scrollview嵌套listview等控件时,页面显示不在顶部。使用scrollView.scrollTo(0,0)设置不起作用,因为内部的listview获取了焦点。以此为出发点,常见的解决方案有:http://blog.csdn.net/xiechengfa/article/details/46476227

2017-12-08 15:24:49 365

ViewPager画廊效果

使用ViewPager实现Gallery画廊效果,内含注释和apk。Demo提供普通画廊和3D画廊效果,代码中均有注释,如果不想使用积分下载,可移步博客上面均有代码和相关介绍:https://blog.csdn.net/qq_37077360/article/details/89921208

2019-05-07

DialogFragment,解决PopupWindow中EditText无法复制粘贴问题

DialogFragment,解决PopupWindow中EditText无法复制粘贴问题。Blog地址:https://blog.csdn.net/qq_37077360/article/details/83505119

2018-10-29

自定义TextView,实现文本展开与收起(带demo和详细注释)

功能: (1)支持全文展开/收起(按钮紧跟着文本后面显示,非另起一行),见下图。 (2)可设置收起时最大显示行数; (3) 可设置“展开/收起”的具体文字显示、字体颜色,是否带省略点等; (4) 支持 “展开/收起”点击事件(即,后缀点击事件)、剩余区间点击事件(TextView点击事件)、父容器点击事件。 博客:https://blog.csdn.net/qq_37077360/article/details/81335018

2018-08-08

Python2.7安装包

安装步骤:https://blog.csdn.net/qq_37077360/article/details/80701274

2018-06-15

Android音乐后台播放(含通知栏操作)

支持音乐后台播放,通知栏播放暂停等。博客地址:https://blog.csdn.net/qq_37077360/article/details/80570684

2018-06-06

带清除按钮的编辑框(EditText)

本项目自定义了一个带清除功能的EditText,内涵测试apk。当输入内容时,显示清除按钮,用户点击可清除编辑框数据,无数据时按钮消失。使用者可以在xml中添加清除按钮,或者更改项目中的icon图标达到显示效果。本项目仅供学习参考,具体实现步骤本人已在代码中有详细注解,也可参考本人博客http://blog.csdn.net/qq_37077360/article/details/73605295

2017-06-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除