Android 知识点小模块例子
时代新人
复杂的事情简单做,简单的事情重复做,重复的事情用心做
展开
-
简单易懂的颜色透明度计算
任何一种颜色的值范围都是 0 到 255(00 到 ff)。对于 alpha,00 表示完全透明,ff 表示完全不透明。表达式顺序是“AARRGGBB”,其中“aa=alpha”(00 到 ff);“bb=blue”(00 到 ff);“gg=green”(00到ff);“rr=red”(00 到 ff)。例如,如果设置字体颜色的透明度为 20% 的红色:透明度计算:20%透明度=255*0.2 =5151转为16进制=0x33原创 2022-11-16 11:28:22 · 1673 阅读 · 1 评论 -
Handler的交互场景
Handler的交互 * (1)单向子线程与子线程交互 * (2)两个子线程互发消息(双向) * (3)主线程发送消息到子线程。 * (4)子线程发送消息主线程。原创 2022-11-04 11:22:39 · 460 阅读 · 0 评论 -
Android中将页面的某一部分布局转成图片显示,可上传或保存到本地
想要把页面中的某一部分布局转成图片,这里使用了一种比较简单的做法,那就是View组件显示的内容可以通过cache机制保存为bitmap,我们要获取它的cache先要通过setDrawingCacheEnable方法把cache开启,然后再调用getDrawingCache方法就可 以获得view的cache图片了。...原创 2022-07-28 11:09:00 · 1124 阅读 · 0 评论 -
设置dialog以外的区域,比如dialog下面的activity中的其他控件可以点击
//实现Dialog区域外部事件可以传给Activity //FLAG_NOT_TOUCH_MODAL作用:即使该window可获得焦点情况下,仍把该window之外的任何event发送到该window之后的其他window getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL); .原创 2022-02-28 17:44:20 · 637 阅读 · 0 评论 -
WindowManager全局显示系统级悬浮窗
WindowManager添加系统级悬浮窗windowManager.addView(view,layoutParams);原创 2021-12-17 14:33:53 · 3077 阅读 · 0 评论 -
api 和 implementation的不同点
api 和 implementation的不同点:api和implementation两种依赖的不同点在于:它们声明的依赖其他模块是否能使用。api:当其他模块依赖于此模块时,此模块使用api声明的依赖包是可以被其他模块使用implementation:当其他模块依赖此模块时,此模块使用implementation声明的依赖包只限于模块内部使用,不允许其他模块使用。api 和 implementation 原因: 网络其他人写的很好了. 借鉴于此: ...原创 2021-11-08 17:20:27 · 584 阅读 · 0 评论 -
进度条之ProgressBar
<ProgressBar android:id="@+id/myprogress2" style="@style/StyleProgressBarMini" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_.原创 2021-10-14 16:29:31 · 91 阅读 · 0 评论 -
PopupWindow封装在控件下方弹出下拉弹窗
PopupWindow封装公共弹窗,在控件下方弹出下拉弹窗,加载列表数据。样式如下:package com.android.sdlc.checkterminal.utils;import android.content.Context;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.view.Gravity;.原创 2021-09-13 15:09:09 · 517 阅读 · 0 评论 -
Android中的apk通过签名校验防止反编译重打包
Android开发完打包好的apk如果被别人盗取可能会存在被反编译重打包的风险,那么我们如何来保护我们辛苦开发出来的程序不被别人盗取重打包呢,这里我们通过签名文件入手,因为打包时候是需要签名的,别人盗取后如果重打包也是需要签名的,那么如果重打包的签名跟我们原本打包的签名不一样,就可以阻止他使用该apk。我们要在首页MainActivity里来判断重打包的签名文件是否与原签名文件一致:/** * 获取签名文件的第一个签名值 * @param packageName 应用包名原创 2021-08-31 16:48:05 · 1989 阅读 · 1 评论 -
Android中实现语句中的关键字变色
/** * 实现语句中的关键词变色 * @param context 上下文 * @param name 语句 * @param key 关键字 * @return 得到关键字变色后的语句 */ public static SpannableString setColor(Context context,String name,String key){ //key = "关键字";//关键词 .原创 2021-05-27 15:05:40 · 687 阅读 · 0 评论 -
自定义 浮动button 自动靠边 附加收缩功能
import android.animation.ObjectAnimator;import android.annotation.SuppressLint;import android.content.Context;import android.util.AttributeSet;import android.util.Log;import android.view.MotionEvent;import android.view.ViewGroup;import android.view.原创 2021-05-22 11:45:50 · 864 阅读 · 3 评论 -
Android简单的集成腾讯视频播放器
在build.gradle里加入api 'com.tencent.tbs.tbssdk:sdk:43939'//腾讯视频播放AndroidManifest.xml里加入 <activity android:name="com.tencent.smtt.sdk.VideoActivity" android:alwaysRetainTaskState="true" android:configChange原创 2021-04-17 15:16:50 · 1484 阅读 · 0 评论 -
Android中获取视频的第一帧图片的三种方法
1、使用Glide获取视频的第一帧图片Glide.with(holder.mCover.getContext()) .setDefaultRequestOptions( new RequestOptions() .frame(0) .centerCrop() )原创 2021-04-10 11:34:57 · 12139 阅读 · 0 评论 -
扫描NFC卡,获取卡号存储到本地并可以以Excel形式导出数据
这是一个使用支持NFC的手机扫描NFC射频卡获取到卡号,使用greenDao数据库做本地存储,扫完之后可以将数据以Excel表格形式导出查看数据。不是什么新技术,内容比较简单,这里就主要贴源码了,没有讲解,不过对于有用的人还是比较实用的,方便查看和拿过来就能使用。下面就是整个工程的接入流程,按照步骤就能做出一个实用的工具了。先做一下准备工作:生成Excel文件会用到一个jar包文件,下载地址:https://download.csdn.net/download/u013184970/16155721原创 2021-03-27 13:45:28 · 4355 阅读 · 0 评论 -
设置控件抖动Android
一些输入框如果没用数据内容的时候,一般我们都会给一个提示,那么这次给它来一个更明显的效果就是让它抖动起来,实现也很容易,就是简单的动画首先在res目录下新建一个anim动画文件夹,在里面新建动画文件shake.xml<?xml version="1.0" encoding="utf-8"?><translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromXDelta=原创 2021-03-13 11:55:02 · 185 阅读 · 0 评论 -
Android的屏幕适配——今日头条
在开发中我们经常会用到屏幕适配,因为市场上的手机型号实在太多了,这里我用到的适配方案是今日头条的屏幕适配,个人觉得用起来很方便,下面就来记录下使用方法:1、在app的build.gradle里加入下面配置//屏幕适配implementation 'me.jessyan:autosize:1.1.2'2、在AndroidManifest.xml里配置:(基准设计尺寸单位dp) <meta-data android:name="design_wi原创 2021-01-27 15:08:05 · 646 阅读 · 0 评论 -
简单易用的MediaPlayer音频播放器
为方便使用MediaPlayer播放音频,这里封装了一个类,使用的时候直接调用方法就可以了public class MediaPlay { private static MediaPlayer mMediaPlayer = null; private static MediaPlayCallBack mMediaPlayerCallBack = null; private static Timer timer;//定时器 private static int tot原创 2020-12-22 14:46:55 · 376 阅读 · 0 评论 -
常用的数据类型转换10进制16进制byte[]高低位
package com.example.test1;import android.text.TextUtils;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;import java.nio.ByteBuffer;public class BytesHexStrTranslate { private static final cha.原创 2020-11-29 19:05:17 · 1402 阅读 · 0 评论 -
设置SeekBar 滑动进度 样式
布局 <SeekBar android:id="@+id/sb_uploadProgress" android:layout_width="match_parent" android:layout_height="wrap_content" android:maxHei原创 2020-11-29 18:59:14 · 578 阅读 · 0 评论 -
超实用的正则验证
package com.android.sdlc.checkterminal.utils;import android.annotation.SuppressLint;import android.text.TextUtils;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.uti.原创 2020-09-20 18:55:32 · 674 阅读 · 0 评论 -
Android中通过USB连接来控制硬件设备
现在好多设备都有USB接口,在Android系统的手机或者开发板上可以实现通过USB来控制设备。一般手机上没有USB接口,需要使用OTG功能的转接线扩展出USB母口;一般Android开发板上带有USB口就可以直接使用了。USB连接中需要知道对应USB设备的vendorId(设备厂商Id)和productId(设备产品Id),这两个id主要是用于连接和过滤设备。那么下面我们就先来看下拿到设备怎...原创 2020-04-15 17:17:27 · 5472 阅读 · 0 评论 -
Android之集成TBS浏览服务问题汇总
上一篇文章主要介绍了怎样在APP内部机成腾讯TBS浏览服务来满足浏览文件的需求,那么在集成TBS浏览服务时候会遇到一些问题导致不能正常使用浏览服务,或者在一些高版本手机上不能使用的情况,下面就将我个人在集成TBS的时候遇到的问题汇总在下面:1.64位手机无法加载x5(Android studio中需要的配置)(1)打开对应module中的build.gradle文件,在文件的android...原创 2020-02-17 11:00:19 · 1146 阅读 · 0 评论 -
Android之TBS浏览Word、Excel、PPT、PDF等文件
有时我们在APP里会有浏览的需求,常见的文件有Word、Excel、ppt、pdf等格式的文件,这里我选用了腾讯的TBS浏览服务。在这里记录一下,方便以后使用,有需要的朋友也可以参考一下。下面就来看一下怎样集成TBS。先来张效果图看下首先下载腾讯浏览服务SDK,下载地址:https://x5.tencent.com/tbs/sdk.html,接入文档地址:https://x5.tenc...原创 2020-02-13 17:44:38 · 5517 阅读 · 9 评论 -
Android自定义日期区间选择,类似12306酒店入住的日期选择
时间过的好快,一转眼2019年马上就结束了,在年末最后一天,写一篇与时间有关的文章吧,今天做一个日期区间的选择功能,效果类似一些酒店入住的日期选择,我写的这个类似12306上面的酒店入住日期选择效果,像一些其他APP如美团、携程等酒店入住日期选择效果也大同小异。先看一下效果图吧。此功能中的日历是使用RecyclerView+GridLayoutManager来实现的,日历中的日期数据是通...原创 2019-12-31 16:24:24 · 2510 阅读 · 4 评论 -
Calendar.add(int field,int amount)方法参数的含义
1代表的是对年份操作,2是对月份操作,3是对星期操作,5是对日期操作,11是对小时操作,12是对分钟操作,13是对秒操作,14是对毫秒操作。举例:Calendar calendar = Calendar.getInstance();calendar.add(2, 1);//表示对月进行加一天操作calendar.add(5, -1);//表示对日期进行减一...原创 2019-12-26 13:51:44 · 2680 阅读 · 1 评论 -
网络状态检查工具类
网络状态检查工具类,做个记录方便以后使用package com.wjy.myokhttp.net;import android.content.Context;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;import and...原创 2019-12-04 15:43:05 · 523 阅读 · 0 评论 -
JsonObject、JsonArray与JSONObject、JSONArray的生成的一些区别和使用总结
通过代码和运行结果查看一下我们平时一般都是怎么使用JsonObject、JsonArray与JSONObject、JSONArray,以及他们之间的一些区别。首先说一下最基本的区别:1.JsonObject、JsonArray需要添加gson jar包,通过com.google.gson来导入。2.JSONObject、JSONArray是Android原生的json类,通过org.j...原创 2019-11-27 15:49:15 · 1526 阅读 · 2 评论 -
仿商城商品生成分享海报图片和识别图中二维码并跳转商品详情页
购物商城里面的商品分享给朋友的时候会生成一张海报图片,图片上附带这二维码图片,朋友拿到这张图片扫描上面的二维码就可以进入商品详情页查看此商品了。今天来做一下这种功能,先生成商品海报图片,然后长按这张图片识别图中二维码。先附上两张效果图: 这里面会用到二维码的生成与识别,使用的是google ZXing,要在app的build.gradle里面引入dependencies {...原创 2019-10-25 11:30:25 · 1893 阅读 · 1 评论 -
Android和H5交互
1 — WebView基本配置 2 —WebView和H5的交互 3 — WebView错误页面处理 4 —WebView中的Cookie操作 5 —WebView漏洞 6 —WebView内存泄漏问题1WebView基本配置布局设置代码设置<?xml version="1.0" encoding="utf-8"?><LinearLayout ...转载 2019-03-14 10:33:54 · 209 阅读 · 0 评论 -
Android P (9.0)限制 Http 明文请求的问题
在Android P(9.0) 系统中,限制了明文流量的网络请求,因为安卓新版本默认是不允许使用明文网络传输的,会强制让应用都使用https,非加密的流量请求都会被系统禁止掉。Google表示,为保证用户数据和设备的安全,针对下一代Android系统(Android P) 的应用程序,将要默认使用加密连接,这意味着Android P将禁止APP使用所有未加密的连接,因此运行Android P ...原创 2019-03-04 14:53:11 · 5708 阅读 · 0 评论 -
获取图片上任意一点的颜色值
点击屏幕上任意一点,获取点击处的颜色值(RGB),还可以将十进制颜色值转化为十六进制颜色值显示,下面是个程序的样例:package com.junto.text;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android...原创 2019-03-14 12:46:55 · 4414 阅读 · 0 评论 -
Android中使用webview加载网页上的按钮点击失效
Android中使用WebView加载经过适配的html页面,页面跳转到外部浏览器,页面布局出现错乱和有些按钮点击失效的问题,在浏览器上打开连接没问题,嵌到Android里就出问题了,通过下面的设置就可以解决这些问题。private void initView() { webView = findViewById(R.id.webView); ...原创 2019-04-22 16:07:16 · 6715 阅读 · 1 评论 -
Android版本更新
应用程序的版本更新总结先上两张效果图 /** * Created by WangJinyong on 2019/5/5. * Android版本更新 */public class UpdateManager { private Context mContext; //上下文 private String apkUrl = "apk下载地址...原创 2019-05-05 14:57:40 · 961 阅读 · 0 评论 -
仿购物车功能
我们平时在网上买东西 经常用到购物车功能,今天就简单写一下这个模块的一些基本功能,先附上两张效果图 先介绍下基本功能:购物车里面有1-多个店铺,每个店铺里又可能有1-多件商品;在购物车里可以编辑每个店铺里的商品(包括增加和减少商品数量、删除购物车里的商品);结算的时候要选中要买的商品,同时自动计算总商品价格,在选择商品的时候可以勾选店铺,则此店铺下了商品全部选中,为...原创 2019-07-30 15:06:03 · 446 阅读 · 1 评论 -
ButterKnife 8.8.1 使用方法详解
ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤。之前就一直在使用,但是没有整理文档,今天在使用时候遇到点问题,就抽出点时间顺便整理记录一下。配置在Android Studio项目中配置使用ButterKnife本文介绍使用的AS版本为3.4.2,Butte...原创 2019-09-27 09:54:27 · 1463 阅读 · 0 评论 -
Android EditText输入格式设置
Android EditText输入格式设置原创 2015-12-24 14:00:38 · 1196 阅读 · 0 评论 -
clipChildren属性的用法
clipChildren这个属性不常用,但是有些时候也会用到,使用起来很方便的,先附上一张自己做的小demo看下样式效果 底部中间突出的部分就是用这个属性来实现的,在一些APP中会有这种效果,下面我们来看下布局文件<?xml version="1.0" encodin...原创 2018-11-26 15:21:48 · 7029 阅读 · 1 评论 -
Android-侧滑菜单(三)
新整理的仿QQ侧滑菜单实现的例子,使用android.support.v4.widget.DrawerLayout和android.support.design.widget.NavigationView实现的,下面先上两张效果图:效果图也看到了,那么咱们废话不多说,直接上代码:注意:要在app的build.gradle里添加下面这句,不然可能会报错的compile 'com.a...原创 2018-09-28 14:23:33 · 5191 阅读 · 2 评论 -
Android-屏幕左右侧滑(二)
第二种方式我们介绍的是使用Android源生控件android.support.v4.widget.DrawerLayout来实现屏幕的左侧滑和右侧滑(其中包括点击侧滑和手动滑动侧滑),还可以用代码来控制打开和关闭手动侧滑:先付上两张效果图供参考,如下:首页左侧滑右侧滑下面附上实现的完整代码:布局文件activity_sliding.xml<?xml...原创 2018-09-28 11:02:59 · 2075 阅读 · 0 评论 -
ImageView设计成圆角的形状
今天在做程序的时候遇到一个问题,是把图片显示成圆角的,我们平时所写的ImageView都是直角的,看起来是很生硬的。如果把四个角给设计成圆角,看起来就会圆润一些,没有那么生硬。这个问题想了很久,也想过很多方法,找了很久,后来想到直接在ImageView.onDraw的时候,给他画出圆角来,这样,这个ImageView里面的ImageBitmap就也有圆角的效果了。实现的代码如下:原创 2016-07-14 18:23:56 · 5844 阅读 · 0 评论