Android
zhongruichun
这个作者很懒,什么都没留下…
展开
-
利用注解实现intent传递参数接收
我们常用Intent intent = new Intent(this, AnnotationActivity.class);intent.putExtra("name", "tony");intent.putExtra("age", 30);.this.startActivity(intent);来传递参数通过Intent intent = getIntent();String name = intent.getStringExtra("name");int age = in原创 2020-11-11 15:31:27 · 397 阅读 · 1 评论 -
Android TextView 添加<a>标签的点击事件
有时候我们需要在一些消息里面带有 可以点击的链接,我们可以用下面的方法拦截链接的点击事件,如果不进行拦截,点击textView里面的链接就会直接跳到外部浏览器打开链接。搞懂里面的原理要先了解SpannableString 这个类的用法,可以参考用SpannableString打造绚丽多彩的文本显示效果懂了SpannableString之后除了下面代码的功能外,还可以自定义更多的效果和功能。import androidx.annotation.NonNull;import andro...原创 2020-11-11 14:07:09 · 947 阅读 · 0 评论 -
Android Crash监控
Crash(应用崩溃)是由于代码异常而导致 App 非正常退出,导致应用程序无法继续使用,所有工作都停止的现象。发生 Crash 后需要重新启动应用(有些情况会自动重启),而且不管应用在开发阶段做得多么优秀,也无法避免 Crash 发生,特别是在 Android 系统中,系统碎片化严重、各 ROM 之间的差异,甚至系统Bug,都可能会导致Crash的发生.package com.example.crash;import android.content.Context;import andr原创 2020-11-07 18:12:11 · 606 阅读 · 0 评论 -
Okhttp和Gson结合使用的正确姿势,json返回未 null gson解析报错问题优化。
这篇文章写得很不错,对gson的用法都讲的很详细你真的会用Gson吗?Gson使用指南https://blog.csdn.net/wsgqp/article/details/51995745当后台返回的数据中带有 为空的值的时候例如 age=错误实例:{"data":{"exist":2,"AppEffectSoundSort":""},"message":"ok","status":2000000}AppEffectSoundSort 这个对象本来应该是list 可是...原创 2020-06-19 18:13:40 · 448 阅读 · 0 评论 -
Android两个recyview直接的item拖动
长按之后出发拖动事件 adapterDefault.setOnItemLongClickListener(new BaseQuickAdapter.OnItemLongClickListener() { @Override public boolean onItemLongClick(BaseQuickAdapter adapter, View view, int position) { mScrollView.scro.原创 2020-06-05 15:04:04 · 1130 阅读 · 1 评论 -
设置布局侵入到状态栏
/** * desc:状态栏设置 设置布局侵入到状态栏 */ protected void setStatusBar() { //StatusBarUtil.setColor(this, getResources().getColor(R.color.colorPrimary), 0); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Win..原创 2020-06-03 18:40:48 · 356 阅读 · 0 评论 -
As 源码 没有问题 在as中显示乱了
最近更新了as的版本,老是会出一些小问题。第一次出现,import 的包全部爆红了,但是代码可以正常编译,打包。这个比较好解决,解决办法是左上角:File --> Invalidate and restart就可以解决问题了。今天又出现了类似情况,用了上面的方法无效,一看代码大部分代码全乱套了。文件和文件都不对应了。解决方法:关闭AndroidStudio 重命名项目文件夹(随意名字) 删除.gradle、.idea、build文件夹 重新导入到And...原创 2020-05-28 15:53:32 · 414 阅读 · 1 评论 -
解决ViewPager 中嵌入TabLayout的滑动冲突问题
解决办法其实比较简单,就是告诉父控件我在滑动的时候你不要拦截我的事件,让我先处理就好了。getParent().requestDisallowInterceptTouchEvent(true);如果不懂就确实要去好好的研究一下时间冲突常用的处理方式了。花点时间静静写一下时间冲突的原理,东西很多,但是处理方式都比较简单的啦。懂了原理处理起来就轻松多了。import android.content.Context;import android.util.AttributeSet;impor原创 2020-05-14 11:18:01 · 972 阅读 · 0 评论 -
重新学习了一下MeasureSpec 相关知识,写了 一个流式布局
学习了一下MeasureSpec 相关知识,写了 一个流式布局import android.content.Context;import android.util.AttributeSet;import android.util.Log;import android.util.TypedValue;import android.view.View;import android.view.ViewGroup;public class FlowLayout extends ViewGro原创 2020-05-14 00:17:47 · 120 阅读 · 0 评论 -
Android禁止输入表情符号
有时候服务器不支持表情符号的接收和存储,那么在Android端如何过滤掉表情输入呢?1、添加过滤器 mEtContent.setFilters(inputFilters);2、写过滤器private InputFilter[] inputFilters=new InputFilter[]{ new InputFilter() { ...原创 2020-04-20 14:35:54 · 1151 阅读 · 0 评论 -
连接中的蓝牙设备
获取连接中的蓝牙设备private class TaskRunnable implements java.lang.Runnable { // new Runnable() { @Override public void run() { SystemClock.sleep(100); ...原创 2020-04-16 19:03:03 · 607 阅读 · 0 评论 -
根据list 的item位置弹出popupWindow 正常在下方弹出,底部在上面弹出。
/** * 计算出来的位置,y方向就在anchorView的上面和下面对齐显示,x方向就是与屏幕右边对齐显示 * 如果anchorView的位置有变化,就可以适当自己额外加入偏移来修正 * * @param anchorView 呼出window的view * @param contentView window的内容布局 * @re...原创 2020-04-16 18:59:16 · 663 阅读 · 0 评论 -
Android 登录用户协议提示的勾选额抖动效果
在用户没有选中用户协议的时候抖两下提示他这里要选中哦。(类似网易云等的抖动效果)mLlAgreement.startAnimation(AnimationUtils.loadAnimation(this, R.anim.translate_checkbox_shake)); TipUtils.showShortToast("请勾选森然服务协议和隐私条...原创 2020-03-21 14:54:29 · 1065 阅读 · 0 评论 -
Android输入法不遮挡输入框的解决办法
我们在开发的过程中很多时候都会遇到输入框会被输入法挡住看不到的情况。解决版本当然有很多,Android给的设备两种模式的方法,很直接。但是不好用,问题也很多就不提了。下面就说说我我的解决思路:1,通过这个方法(.getViewTreeObserver().addOnGlobalLayoutListener)可以得到屏幕的宽度和输入法弹出的button值的变化来确定输入法是否弹出 ...原创 2020-03-19 14:07:23 · 1950 阅读 · 0 评论 -
Android WebView 使用方法,可以解决web视频播放层级问题。
package com.zhong.doule;import android.annotation.SuppressLint;import android.content.Intent;import android.graphics.Bitmap;import android.net.Uri;import android.os.Build;import android.os.Bun...原创 2019-09-24 18:20:02 · 1390 阅读 · 0 评论 -
Android 输入法键盘的显示和隐藏
import android.app.Activity;import android.content.Context;import android.view.View;import android.view.inputmethod.InputMethodManager;public class InputMethodUtils { //如果输入法在窗口上已经显示,则隐藏,反之...原创 2019-09-03 10:00:22 · 2630 阅读 · 0 评论 -
可以惯性滑动的半圆转盘,圆形菜单。
import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;import android.os.Handler;import andro...原创 2019-07-26 18:01:13 · 1084 阅读 · 0 评论 -
Android中AudioRecord 录音和AudioTrack播放录音,并可以转为wav格式数据。
本篇文章不做过多解释,直接拷贝代码就可以用,因为AudioRecord的解释随便一搜一大把。。。布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:/...原创 2019-05-17 16:00:55 · 870 阅读 · 0 评论 -
Android隐藏和显示输入法
public class InputMethodUtils { //如果输入法在窗口上已经显示,则隐藏,反之则显示 public static void showOrHide(Context context) { InputMethodManager imm = (InputMethodManager) context.getSystemService(Conte...转载 2018-08-07 19:22:57 · 12463 阅读 · 0 评论 -
TabLayout 设置分割线和设置底部下划线宽度
1、分割线LinearLayout linearLayout = (LinearLayout) frag1Tab.getChildAt(0);linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE);linearLayout.setDividerDrawable(ContextCompat.getDrawable(g...转载 2018-08-07 19:29:20 · 2574 阅读 · 0 评论 -
Android 正弦水波动画效果实现
看效果(许多app的用户界面用到) 首先申明是站在巨人肩膀上完成的,勿喷。。。。。import android.content.Context;import android.graphics.Canvas;import android.graphics.DrawFilter;import android.graphics.Paint;import android.gra...原创 2018-08-21 19:53:19 · 1013 阅读 · 1 评论 -
利用Build模式写的一个弹窗
1.主代码看 public static class Builder package com.seeknature.audio.utils;import android.app.AlertDialog;import android.app.Dialog;import android.content.Context;import android.view.LayoutInflater...原创 2018-09-04 17:16:38 · 181 阅读 · 0 评论 -
EditText禁止输入换行符。
最近在做项目的时候,往后台发送数据时报错了,后来发现是因为输入的字符中有换行符导致的,于是就想办法先设置singleLine="true",结果没什么作用,后来查阅edittext的源码,发现其中有一个方法setOnEditorActionListener,这个方法是给文本框添加编辑监听事件,这个看起来没什么用处,但是这个方法有点特别,这个方法的监听时间并不是点击EditText的时候触发,也不...转载 2018-09-11 17:41:05 · 2424 阅读 · 0 评论 -
设置了透明背景的activity,退出的时候会闪烁一下
设置acitivity的theme <style name="myTransparentTheme" parent="AppTheme"> <!-- Customize your theme here. --> <item name="android:windowBackground">@color/mytransparent<原创 2018-09-10 14:51:32 · 3932 阅读 · 0 评论 -
多个可以拖动的小球与一个用户连接,利用最远用户作为可变圆的半径,一个类似圆盘的效果。
先来看效果(效果不全,所有的点都可以动,圆的半径也可以变化)直接来代码吧 (图片资源自己添加)复制即可看到效果import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;imp...原创 2018-12-12 14:18:47 · 165 阅读 · 0 评论 -
已知圆点坐标和一个点,算出幅度角。
已圆心为坐标圆点,正右方向为坐标x轴的正方向,直接用下面的方法替换坐标点就可以了。一试便知。。 /** * 以按钮圆心为坐标圆点,建立坐标系,求出(targetX, targetY)坐标与x轴的夹角 * * @param targetX x坐标 * @param targetY y坐标 * @return (targetX, t...原创 2018-12-24 15:54:21 · 1232 阅读 · 0 评论 -
带阻尼效果的RelativeLayout 可以包容ListView
为了日后有用,转载一个带阻尼效果的RelativeLayout 可以包容ListView,上下都有阻尼效果。代码直接copy既可以用代码暂未细读,所以无太多解释。 import android.animation.Animator;import android.animation.Animator.AnimatorListener;import android.anim...转载 2018-12-29 16:21:35 · 151 阅读 · 0 评论 -
Android RadioGroup 换行, 支持多行多列,可以嵌套LinearLayout 。。。
经过反复试验,发现无论你怎么摆弄RadioGroup, 都无法实现多行多列的单选按钮组。 1. 如果不结合其他布局,例如LinearLayout, 则只能实现单行多个按钮组,或者单列多个按钮组。 2. 如果结合其他布局, 虽然可以实现多行多列的RadioButton布局,但是,如果不通过一些互斥算法,也无法实现按钮组的单选操作。 所以,我对RadioGroup进行了改写. (文章为转载,亲...转载 2018-12-25 10:22:35 · 1666 阅读 · 0 评论 -
java字节运算,拼接两个byte和和将一个int拆分成两个byte,byte取高位和取低位运算。
import java.text.DecimalFormat;/** * Created by zry on 18/3/7. */public class DataUtil { /** * 保留浮点数小数点后面几位 * * @param f 浮点数 * @param format 浮点数的格式 * @ret...原创 2019-01-10 16:26:37 · 5459 阅读 · 0 评论 -
横向滑动选择器,点击自动切换选项。
先来个效果: (可以左右滑动,可以选中上一个,下一个,点击具体项选中那项)(中间字体大,两边字体小,稍微有点拱桥形状,实现在onDraw后面几行代码,可自行优化) attrs.xml<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable nam...原创 2019-01-22 10:36:33 · 2667 阅读 · 1 评论 -
Android自定义圆弧进度条,计算坐标到圆心得连线与x轴(心中要有轴)夹角
效果图片已经看到了,圆弧可以根据手的滑动旋转。下面直接贴代码,有兴趣自己研读一下.不在过多赘述,自己能理解贯通最好。方法可以灵活运用,与多个场景。下面这个方法是关键,以后可以都理解利用:(计算坐标到圆心得连线与x轴(心中要有轴)夹角)/** * 以按钮圆心为坐标圆点,建立坐标系,求出(targetX, targetY)坐标与x轴的夹角 * ...原创 2019-03-19 10:15:55 · 965 阅读 · 0 评论 -
Android实现 Eq的频响曲线,可以调节峰值,高低通。曲线为算法实现。
做过音频相关的应该见过这种Eq曲线,每一个点都有一个影响范围,并对整体曲线有影响。图片为前半部分。之前做的时候在网上并没有找到,Eq曲线的计算和画法。这里拿出来分享一下。这里只提供画图的方法,曲线的算法不在这里提供(公司资产)。如有需要请私聊。(本人也是翻译mathlib获取的)import android.content.Context;import android.g...原创 2019-03-19 10:27:53 · 4934 阅读 · 10 评论 -
带指示的进度条
进度条为两个圆角矩形。指示条为上方一个圆角矩形,下方画一个三角形。指示条跟随进度条滑动。(复制即用,修改简单)import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import andro...原创 2019-03-23 11:58:08 · 451 阅读 · 0 评论 -
加载过渡特效
https://blog.csdn.net/mensheng110/article/details/78863845package com.iszcc.demo.carview.policy;import android.animation.Animator;import android.animation.AnimatorListenerAdapter;import an...转载 2019-03-23 16:14:28 · 517 阅读 · 0 评论 -
RecyView 点击选中选项居中,设置选中项自动居中,item较小的时候单独居中。
我们在横向滑动recyview 的时候希望选中项可以居中显示,然后设置要选中的项时该项会自动居中,当只有一个item或者总长度小于屏幕宽度时会默认显示在最左边。下面提供解决这三个需求的方法。点击选中项自动居中:mAdapter.setOnItemClickListener(new HomeAdapter.OnItemClickListener() { @Overr...原创 2019-04-22 16:45:28 · 1612 阅读 · 2 评论 -
Dialog中有EditText无法弹出输入法解决方法和Dialog宽高设置
在fragment中自定义了一个dialog,打开之后edittext弹不出输入法: 弹不出输入法解决办法在dialog.show后加preDialog.show();preDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutPara...原创 2018-08-01 11:34:58 · 394 阅读 · 0 评论