- 博客(27)
- 资源 (2)
- 收藏
- 关注
原创 HorizontalScrollView嵌套RecyclerView不兼容
项目中有地方用到HorizontalScrollView嵌套RecyclerView,vivo(7.2版本)和华为(8.1)测试时发现数据显示不完全。排查后发现HorizontalScrollView宽度不超过屏幕,导致数据无法显示完全,也无法水平滑动。网上查找资料测试后发现修改如下,能实现HorizontalScrollView宽度能超过屏幕包含所有项目并能正常滑动。在RecycleVi...
2018-12-28 16:23:01
3510
5
原创 java.lang.Throwable: A WebView method was called on thread 'JavaBridge'.
使用webview.canGoBackOrForward无反应,查看log抛了异常。java.lang.Throwable: A WebView method was called on thread 'JavaBridge'. All WebView methods must be called on the same thread. (Expected Looper Looper cal...
2018-10-11 18:21:39
2257
原创 Android CookieManager.setCookie 失败
项目中后台突然发现APP上送的header中cookie一直为null。打断点发现cookieManager.setCookie("key", vaule)后,值并没有成功写入。 发现cookie中的值由原来的“JSESSIONID=XXXXXXXX"改为了"JSESSIONID=XXXXXXXX;Path=XXXXXXXX;Httponly..." 然后将cookie中的值一...
2018-06-11 15:58:25
5552
原创 解决Android Toobar与状态栏重叠
觉得toolbar默认高度太高,给toolbar设了一个固定值。测试时发现在4.4系统上会出现与状态栏重叠的现象。给toolbar设了个margin,但是在7.0的系统上又会出现间隙。最后发现只需要在父view里加上下面两行就解决了。android:clipToPadding="true"android:fitsSystemWindows="true"解释一下上面两个布局属性的意思:
2018-01-08 10:53:11
6719
原创 ListView定位
在某个场景中,A页面有一个很长的listview,从其他页面返回A页面时用户能够接着上一次已浏览的内容继续。目标:返回包含listview的页面时,listview能够自动定位到上一次保存的位置。解决办法如下:保存当前第一个可见的item的索引和偏移量int index = mList.getFirstVisiblePosition();View v = mList.
2017-05-23 09:49:20
415
原创 使用Gradle生成一个App的不同版本
项目测试时有时需要测试生产版和测试版,但是Android手机对于同样的Application Id的App只能安装一个版本,每次重新安装很麻烦。为了方便测试,可以使用gradle生成两个不同的版本,并安装在同一部手机上。目的:在同一部手机上同时安装同一个项目的生产版及测试版,并能通过不同的APP Name区别。修改debug版的包名配置如下:android { bu
2017-05-22 11:17:33
561
原创 通过GradientDrawable设置或修改view background
项目中遇到根据后台数据修改view背景色的要求。通过setBackground(color),虽然改变了颜色,但是也改变了圆角属性。这里可以通过使用GradientDrawable来修改已经设置的shape中的颜色来达到目的。比如,上图中TextView通过设置background实现上面左上、右下圆角的效果:<TextView android:id="@+id
2017-01-13 14:21:14
1506
原创 Android选择器控件
项目中设置用户密保问题页面使用到了选择器控件,在git中找到一个比较合适的,在这里记下来,下次遇到不用再去寻找。git地址:https://github.com/gzu-liyujiang/AndroidPicker在项目中需要实现的效果是点击从底部弹出一个滚动单项选择器OptionPicker,只需要在gradle中加上:compile 'cn.qqtheme.fra
2017-01-12 10:10:54
7523
原创 Android空心圆角矩形按钮
页面上有时会用到背景为空心圆角矩形的Button,可以通过xml绘制出来。drawrable文件夹下bg_red_hollow_rectangle.xml<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <stroke
2017-01-11 10:54:51
6405
原创 JAVA密码校验
密码限制8-20位,要求大小写字母、数字、特殊符号至少包含三种。代码如下:public static Boolean checkPassWordIsStrong(String passWord) { if (passWord == null) return false; if (passWord.length() 20)
2017-01-11 10:37:06
1943
原创 Fragment中的onCreatView()没有立即调用
项目中发现Fragment中的onCreatView()没有立即调用,例如:@Overrideprotected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FragmentManager
2016-06-13 15:38:35
6936
原创 setSelectionAfterHeaderView()、setSelection()无法回到顶部
使用时发现setSelectionAfterHeaderView()、setSelection()有时候能够使listveiw回到顶部,但有时候却并没有到达顶部。能够回到顶部的场景是在输入框中输入搜索的内容进行搜索,listview数据更新回到顶部位置,其它情况下无法回到顶部。查了下文档,文档中说明setSelectionAfterHeaderView()、setSelection()在tou
2016-06-12 15:06:05
2163
原创 ListView底部分割线问题
在listview上加了footer,运行后发现有的底部有一条分割线,而有的页面没有。去掉footer视图后listview底部同样如此。对比后发现与listview的layout_height属性设置有关:layout_height设置为wrap_content时不显示layout_height设置为fill_parent时会出现(当listview高度超出显示的高度出现滚动
2016-05-23 16:13:43
453
原创 actionbar下面多一条黑线如何去掉
在项目中将actionbar使用的布局文件背景色改成了项目的主题色,运行后actionbar下面有一条黑线。解决办法只需要在style.xml中加上红色的代码: <!-- Theme customizations available in newer API levels can go in res/values-vXX/st
2016-05-12 10:14:02
2447
原创 Android文字自滚动textview
自定义AutoScrollTextView继承至TextView,在onDraw()中设置文字的X轴偏移量加1并刷新,以实现文字从右向左移动的效果。public class AutoScrollTextView extends TextView implements OnClickListener { private String Tag = "AutoScrollTextView";
2016-05-09 14:34:48
1793
原创 迁移eclipse项目至Android studio遇到的问题
错误:非法字符:'\ufeff'错误:需要class,interface或enum解决办法:使用notepad++打卡报错文件,选择“格式”,将“以UTF-8格式编码”改为“以UTF-8无BOM格式编码"
2016-02-05 17:09:59
378
原创 使用databinding遇到的问题
Error:Failed to resolve: com.android.databinding:baseLibrary:1.1Error:Failed to resolve: com.android.databinding:compiler:1.1处理方式:在build.gradle中加上allprojects { repositories { jce
2016-02-01 10:05:38
2721
原创 android edittext 限制输入框小数位数
在输入小数点的时候,监听小数点后面的位数,只要大于两位就立马删掉。@Overridepublic void afterTextChanged(Editable arg0) { int posDot = arg0.toString().indexOf("."); if (arg0.length() - posDot - 1 > 2) { arg0 = arg0.delete(pos
2016-01-22 16:34:54
483
原创 string.xml中字符串通配
%1$s、%1$d的使用s为字符串,d为整形。1表示替换的第一个参数,第二个则写为:%2$d/s。string.xml中:Hello, %1$s! You have %2$d new messages.Java代码中:String text = String.format(getResources().getString(R.string.welcome_mes
2015-10-21 14:39:51
1379
原创 Android全屏
设置单个Activity:<activity android:name="com.demo.MainActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:label="@string/app_name" >
2015-09-28 10:09:15
283
原创 Android Picasso异步加载图片库
Picasso是Square公司出品的一个强大的图片下载和缓存图片库。官方网址是:http://square.github.io/picasso/。可以实现图片的下载缓存功能, 也可用于图片的转换。只需要一句代码就可以将图片下载并设置到ImageView上。Picasso.with(context).load(uri).into(imageView); 其中uri(URI)也可以替换为
2015-09-10 15:42:05
1190
原创 OnPreDrawListener
interface ViewTreeObserver.OnPreDrawListener当一个视图树将要绘制时,所要调用的回调函数的接口类。方法:public abstract boolean onPreDraw ()即将绘制视图树时执行的回调函数。这时所有的视图都测量完成并确定了框架。 客户端可以使用该方法来调整滚动边框,甚至可以在绘制之
2015-09-01 14:03:20
2091
原创 Android 缩放、移动、旋转View相关方法
android:rotation 关联方法: setRotation(float) 属性说明: 旋转度数android:rotationX 关联方法: setRotationX(float) 属性说明: 水平旋转度数android:rotationY 关联方法: setRotationY(float) 属性说明: 竖直旋转度数android:scaleX 关联方
2015-09-01 10:13:17
1030
原创 获取屏幕高度
public class Utils { private static int screenHeight = 0; public static int getScreenHeight(Context context) { if (screenHeight == 0) { WindowManager wm = (WindowManager)c
2015-08-31 15:29:05
465
原创 Android中dp转换为px
根据手机的分辨率从 dp 的单位转成为 px(像素) public static int dpToPx(int dp) { return (int)(dp * Resources.getSystem().getDisplayMetrics().density); }
2015-08-31 15:21:02
400
猪的安家(算法)
2014-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人