
Android
Evilloafer
常自省,方自醒。
展开
-
Android 解决ListView的item中包含CheckBox时滑动闪烁的问题
最近遇到的一个问题,使用listView打造一个Tree树,item中包含CheckBox做折叠关闭,当list条目少时滑动不会发生闪烁的问题,当条目很多,展开父节点时滑动就出现了闪烁自动关闭父节点的问题。问题原因: CheckBox使用的setOnCheckedChangeListener时,当父节点移出屏幕时缓存清除,触发了此事件。解决方案: CheckBox采用onClick监听选中事件...原创 2020-04-27 09:03:05 · 524 阅读 · 0 评论 -
Android 实现EditText点击全选,再次点击取消全选
一、 xml中实现添加 android:selectAllOnFocus=“true” 即可<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:selectAllOnFocus="true" />二、代码实现editText.setSel...原创 2019-10-31 14:33:20 · 1865 阅读 · 0 评论 -
Android 使用WindowManager打造通用悬浮菜单,兼容Android P
最近开发中遇到的需求,最终通过使用WindowManager实现该功能,可通过继承扩展。import android.content.Context;import android.graphics.PixelFormat;import android.view.Gravity;import android.view.KeyEvent;import android.view.LayoutI...原创 2019-06-06 10:06:50 · 742 阅读 · 0 评论 -
Android TabLayout代码设置点击tab透明效果
//设置tabLayout点击tab透明效果 public static void SetTabLayOut(TabLayout tabLayout) { tabLayout.setTabRippleColor(ColorStateList.valueOf(Color.TRANSPARENT));}原创 2019-06-14 14:25:24 · 1441 阅读 · 0 评论 -
Android 记录string.xml中占位符的使用以及特殊字符转义
例子:<string name="data">数量:%1$d,金额:%2$.2f,名称:%3$s</string>其中%后面是占位符的位置,从1开始,$ 后面是填充数据的类型:符号含义$d整数型$f浮点型,其中f前面的.2表示小数的位数$s字符串特殊字符:使用特殊字符 % 时可以使用 %% 表示,也可以使用ASCII码进...原创 2019-06-18 13:45:31 · 1092 阅读 · 0 评论 -
Android CheckBox的setChecked方法和setOnCheckedChangeListener事件冲突
当设置checkbox选中状态,又同时监听了CheckBox选中变化事件时,会触发此CheckBox的setOnCheckedChangeListener()事件,此时会发现得到的不是期望的结果。解决方案:更改CheckBox的OnCheckedChangeListener()事件为OnClickListener()事件。checkBox.setOnClickListener(new Vie...原创 2019-07-18 11:15:31 · 3942 阅读 · 0 评论 -
Android 判断触摸点是否在某个视图范围内
/** * 触摸点是否在视图范围内 * * @param view 视图 * @param ev 触摸点 * @return 是否在视图范围内 */ private boolean inRangeOfView(View view, MotionEvent ev) { int[] location = n...原创 2019-07-18 11:29:18 · 948 阅读 · 0 评论 -
permission denied for window type 2003
在Android6.0之前,如果要弹出全局悬浮窗,只需要在AndroidManifest.xml中申请如下权限即可。<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />但是从Android6.0开始,不仅需要上述权限,还需要动态申请此权限,用户手动开启才行。//检查权限if (Bui...原创 2019-07-22 13:47:05 · 5285 阅读 · 1 评论 -
android 部分兼容性问题总结
我们使用CheckBox时希望简单的设置一个有状态的背景,并隐藏其默认样式。可是,当我们调用setButtonDrawable(null)或setButtonDrawable(0)时,却发现完全没有效果。解决方案:button.setButtonDrawable(new ColorDrawable(Color.TRANSPARENT));java.lang.NoClassDefFoundE...原创 2019-07-31 10:16:43 · 1162 阅读 · 0 评论 -
java.net.ProtocolException: method does not support a request body: DELETE
最近测试低版本兼容性时发现的问题,使用NoHTTP第三方框架发送DELETE请求时出现的错误。错误原因:NoHTTP网络层默认采用HttpURLConnection的实现做底层,既URLConnectionNetworkExecutor。但HttpURLConnection在5.0以下的系统中DELETE请求方法不允许发送body。解决方案:更换NoHTTP网络层为OKHTTP。如果要...原创 2019-07-31 14:50:33 · 2835 阅读 · 0 评论 -
解决 SlidingMenu 滑动问题
我们可以使用以下代码可以设置SlidingMenu的滑动效果,但会发现反方向滑动就没有效果。 mSlidingMenu.setMode(SlidingMenu.LEFT);//左/右侧滑出 mSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//全屏触摸监听尝试使用一下代码,发现可以左...原创 2019-08-09 15:11:55 · 377 阅读 · 0 评论 -
Android 代码设置EditText过滤汉字
/** * 设置EditText是否过滤汉字 */ public static void SetEditTextFilter(EditText editText, final boolean filterChinese) { InputFilter filter = new InputFilter() { public Char...原创 2019-08-13 10:10:15 · 476 阅读 · 0 评论 -
java.lang.UnsatisfiedLinkError:dlopen failed: "..//xxxxx.os" is 32-bit instead of 64-bit
最近项目引入第三方串口so库时遇到的问题,原因是手机cpu默认先调用64位虚拟机,而so包是32位的。解决思路让APP默认调用32位虚拟机,64位so库兼容32位。解决方案在启动项目的build.gradle文件中以下代码即可,切记是启动项目。defaultConfig { ...... ndk { abiFilters "arm...原创 2019-09-29 12:07:09 · 2856 阅读 · 0 评论 -
java.security.cert.CertificateException: Unacceptable certificate: CN=WoTrus DV SSL CA
APP在手持终端中遇到的问题:java.security.cert.CertificateException: Unacceptable certificate: CN=WoTrus DV SSL CA, O=WoTrus CA Limited, C=CN,查阅后发现是HttpsURLConnection请求HTTPS时证书检查出现的问题。解决方案引用 https://blog.csdn.n...原创 2019-09-29 12:23:19 · 3535 阅读 · 0 评论 -
Android 解决自定义控件布局中match_parent属性无效
在实例化布局时不能使用如下格式:View convertView = LayoutInflater.from(context).inflate(context, R.layout.***, null);应使用如下格式:View convertView = mInflater.from(context).inflate(R.layout.***, parent, false);如果在自定...原创 2019-06-05 16:01:59 · 4649 阅读 · 2 评论 -
java.lang.IllegalArgumentException: requestCode should be >= 0
原因解析: /** * Requests permissions to be granted to this application. These permissions * must be requested in your manifest, they should not be granted to your app, * and they should ha...原创 2019-05-24 10:23:00 · 1336 阅读 · 0 评论 -
SpannableString操作类
SpannableString操作类import android.app.Activity;import android.graphics.drawable.Drawable;import android.text.Spannable;import android.text.SpannableString;import android.text.TextPaint;import and...原创 2019-03-27 09:09:33 · 420 阅读 · 0 评论 -
Android 【打开方式】调用系统应用打开自定义后缀文件
Android 调用系统应用打开自定义后缀文件只需要在AndroidManifest.xml中配置如下代码即可<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER...原创 2019-04-01 15:16:28 · 4171 阅读 · 0 评论 -
Android圆形图片的实现以及设置边缘颜色、宽度
Android设置圆形图片以及指定颜色边缘 /** * 设置圆形图片以及指定颜色边缘 * * @param context context对象 * @param avatar 图片 * @param color 颜色边缘 * @param value 边缘宽度 * @return 图片 */ pub...原创 2019-03-28 09:30:48 · 674 阅读 · 0 评论 -
Android 自定义控件获取布局宽高
Android 自定义控件获取布局宽高通过构造方法的AttributeSet 获取xml布局文件上定义的宽高public int getViewHeight(AttributeSet attributeSet, Context context) { String layout_height = context.getString(attributeSet.getAttributeRes...原创 2019-04-09 10:10:55 · 2304 阅读 · 0 评论 -
Android 自定义加载等待Dialog
效果图布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layo...原创 2019-04-15 11:15:50 · 3318 阅读 · 0 评论 -
System.err: java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 1
Android中使用String.split()时发生异常:System.err: java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 1原因:String.split(String regex)方法的参数中有正则符号,如 + / * - ^ $ ~ %等,这些符号在java中可以...原创 2019-04-23 15:44:36 · 2111 阅读 · 0 评论 -
Android 判断App是否是第一次启动或安装
最近开发中遇到的一个需求,通过判断App是否是第一次启动或安装使用不同的启动动画。这里我使用了SharedPreferences来实现该功能,思路很简单,通过SharedPreferences存储到手机中一些标志数据,启动时判断该数据即可。下边是阅读以下博客后整理的工具接口http://www.cnblogs.com/520-1314/p/5067454.htmlhttps://www....原创 2019-04-25 13:43:03 · 5052 阅读 · 0 评论 -
PopupWindow.showAsDropDown offSetX 解决水平偏移没效果
想要的效果图通过下方代码设置后的效果图 popupWindow.showAsDropDown(view, Math.abs((view.getWidth() - popupWindow.getWidth()) / 2), 10);最终解决方案PopupWindowCompat.showAsDropDown(popupWindow, view, -10, 10, Gravity.EN...原创 2019-04-30 12:20:20 · 4288 阅读 · 6 评论 -
Android ConstraintLayout设置match_parent效果
当我们使用ConstraintLayout布局时,会发现无法使用match_parent,如果使用,设置后的控件会铺满整个屏幕。解决方案:如果想实现宽度match_parent,就设置宽度为0dp,再设置左约束和右约束;如果想实现高度match_parent,就设置高度为0dp,再设置上约束和下约束。...原创 2019-05-14 17:06:10 · 6234 阅读 · 3 评论 -
Android 绘制水平虚线或垂直虚线
绘制水平虚线: line_horizontal.xml<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line" > <!-- 破折线的宽度为dashWith,...原创 2019-05-14 17:19:25 · 2797 阅读 · 0 评论 -
Android 自定义显示图片Dialog
效果图:布局文件:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" androi...原创 2019-05-22 11:39:38 · 6348 阅读 · 0 评论 -
Android 通过代码设置着色图片
/** * 设置着色图片 * @param context context对象 * @param resourceId 图片资源id * @param color 颜色资源id * @return 图片 */ public static Drawable GetTintDrawable(Context context, int...原创 2019-05-17 11:55:02 · 1357 阅读 · 0 评论 -
java.lang.NoSuchFieldException: FLAG_NEEDS_MENU_KEY
原因解析: /** * Returns a {@code Field} object that reflects the specified public member * field of the class or interface represented by this {@code Class} * object. The {@code name} para...原创 2019-05-24 10:09:55 · 1125 阅读 · 0 评论 -
Android 找不到HTTPClient等包问题
Android 找不到HTTPClient等包问题原创 2019-03-26 18:05:03 · 1380 阅读 · 0 评论