自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (2)
  • 收藏
  • 关注

原创 HorizontalScrollView嵌套RecyclerView不兼容

项目中有地方用到HorizontalScrollView嵌套RecyclerView,vivo(7.2版本)和华为(8.1)测试时发现数据显示不完全。排查后发现HorizontalScrollView宽度不超过屏幕,导致数据无法显示完全,也无法水平滑动。网上查找资料测试后发现修改如下,能实现HorizontalScrollView宽度能超过屏幕包含所有项目并能正常滑动。在RecycleVi...

2018-12-28 16:23:01 3047 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 2061

原创 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 5357

原创 解决Android Toobar与状态栏重叠

觉得toolbar默认高度太高,给toolbar设了一个固定值。测试时发现在4.4系统上会出现与状态栏重叠的现象。给toolbar设了个margin,但是在7.0的系统上又会出现间隙。最后发现只需要在父view里加上下面两行就解决了。android:clipToPadding="true"android:fitsSystemWindows="true"解释一下上面两个布局属性的意思:

2018-01-08 10:53:11 6630

原创 ListView定位

在某个场景中,A页面有一个很长的listview,从其他页面返回A页面时用户能够接着上一次已浏览的内容继续。目标:返回包含listview的页面时,listview能够自动定位到上一次保存的位置。解决办法如下:保存当前第一个可见的item的索引和偏移量int index = mList.getFirstVisiblePosition();View v = mList.

2017-05-23 09:49:20 377

原创 使用Gradle生成一个App的不同版本

项目测试时有时需要测试生产版和测试版,但是Android手机对于同样的Application Id的App只能安装一个版本,每次重新安装很麻烦。为了方便测试,可以使用gradle生成两个不同的版本,并安装在同一部手机上。目的:在同一部手机上同时安装同一个项目的生产版及测试版,并能通过不同的APP Name区别。修改debug版的包名配置如下:android { bu

2017-05-22 11:17:33 507

原创 通过GradientDrawable设置或修改view background

项目中遇到根据后台数据修改view背景色的要求。通过setBackground(color),虽然改变了颜色,但是也改变了圆角属性。这里可以通过使用GradientDrawable来修改已经设置的shape中的颜色来达到目的。比如,上图中TextView通过设置background实现上面左上、右下圆角的效果:<TextView android:id="@+id

2017-01-13 14:21:14 1445

原创 Android选择器控件

项目中设置用户密保问题页面使用到了选择器控件,在git中找到一个比较合适的,在这里记下来,下次遇到不用再去寻找。git地址:https://github.com/gzu-liyujiang/AndroidPicker在项目中需要实现的效果是点击从底部弹出一个滚动单项选择器OptionPicker,只需要在gradle中加上:compile 'cn.qqtheme.fra

2017-01-12 10:10:54 7373

原创 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 6307

原创 JAVA密码校验

密码限制8-20位,要求大小写字母、数字、特殊符号至少包含三种。代码如下:public static Boolean checkPassWordIsStrong(String passWord) { if (passWord == null) return false; if (passWord.length() 20)

2017-01-11 10:37:06 1870

原创 Fragment中的onCreatView()没有立即调用

项目中发现Fragment中的onCreatView()没有立即调用,例如:@Overrideprotected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FragmentManager

2016-06-13 15:38:35 6795

原创 setSelectionAfterHeaderView()、setSelection()无法回到顶部

使用时发现setSelectionAfterHeaderView()、setSelection()有时候能够使listveiw回到顶部,但有时候却并没有到达顶部。能够回到顶部的场景是在输入框中输入搜索的内容进行搜索,listview数据更新回到顶部位置,其它情况下无法回到顶部。查了下文档,文档中说明setSelectionAfterHeaderView()、setSelection()在tou

2016-06-12 15:06:05 2115

原创 ListView底部分割线问题

在listview上加了footer,运行后发现有的底部有一条分割线,而有的页面没有。去掉footer视图后listview底部同样如此。对比后发现与listview的layout_height属性设置有关:layout_height设置为wrap_content时不显示layout_height设置为fill_parent时会出现(当listview高度超出显示的高度出现滚动

2016-05-23 16:13:43 397

原创 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 2349

原创 Android文字自滚动textview

自定义AutoScrollTextView继承至TextView,在onDraw()中设置文字的X轴偏移量加1并刷新,以实现文字从右向左移动的效果。public class AutoScrollTextView extends TextView implements OnClickListener { private String Tag = "AutoScrollTextView";

2016-05-09 14:34:48 1744

原创 迁移eclipse项目至Android studio遇到的问题

错误:非法字符:'\ufeff'错误:需要class,interface或enum解决办法:使用notepad++打卡报错文件,选择“格式”,将“以UTF-8格式编码”改为“以UTF-8无BOM格式编码"

2016-02-05 17:09:59 353

原创 使用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 2656 1

原创 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 430

原创 设置EditText光标显示但不弹键盘

首先利用requestFocus标签指定屏幕内的焦点View。

2015-11-05 16:34:08 1279

原创 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 1321

原创 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 247

原创 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 1141

原创 translate位移动画

Translate动画是非常好理解,就是定义一个开始的位置和一个结束位置,定义移动时间,然后就能自动产生移动动画。

2015-09-02 10:35:26 467

原创 OnPreDrawListener

interface ViewTreeObserver.OnPreDrawListener当一个视图树将要绘制时,所要调用的回调函数的接口类。方法:public abstract boolean onPreDraw ()即将绘制视图树时执行的回调函数。这时所有的视图都测量完成并确定了框架。 客户端可以使用该方法来调整滚动边框,甚至可以在绘制之

2015-09-01 14:03:20 1983

原创 Android 缩放、移动、旋转View相关方法

android:rotation 关联方法: setRotation(float) 属性说明: 旋转度数android:rotationX 关联方法: setRotationX(float) 属性说明: 水平旋转度数android:rotationY 关联方法: setRotationY(float) 属性说明: 竖直旋转度数android:scaleX 关联方

2015-09-01 10:13:17 959

原创 获取屏幕高度

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 415

原创 Android中dp转换为px

根据手机的分辨率从 dp 的单位转成为 px(像素) public static int dpToPx(int dp) { return (int)(dp * Resources.getSystem().getDisplayMetrics().density); }

2015-08-31 15:21:02 353

猪的安家(算法)

Andy和Mary养了很多猪。他们想要给猪安家。但是Andy没有足够的猪圈,很多猪只能够在一个猪圈安家。举个例子,假如有16头猪,Andy建了3个猪圈,为了保证公平,剩下1头猪就没有地方安家了。Mary生气了,骂Andy没有脑子,并让他重新建立猪圈。这回Andy建造了5个猪圈,但是仍然有1头猪没有地方去,然后Andy又建造了7个猪圈,但是还有2头没有地方去。Andy都快疯了。你对这个事情感兴趣起来,你想通过Andy建造猪圈的过程,知道Andy家至少养了多少头猪。 输入 输入包含多组测试数据。每组数据第一行包含一个整数n (n <= 10) – Andy建立猪圈的次数,解下来n行,每行两个整数ai, bi( bi <= ai <= 1000), 表示Andy建立了ai个猪圈,有bi头猪没有去处。你可以假定(ai, aj) = 1. 输出 输出包含一个正整数,即为Andy家至少养猪的数目。 样例输入 3 3 1 5 1 7 2 样例输出 16

2014-07-10

空空如也

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

TA关注的人

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