android
zshp
这个作者很懒,什么都没留下…
展开
-
Android中常用的gradle命令
常用命令如下:(linux下是./gradlew,该脚本在项目下,windows直接gradlew即可)./gradlew -v 版本号,首次运行,没有gradle的要下载的哦。./gradlew clean 删除HelloWord/app目录下的build文件夹./gradlew build 检查依赖并编译打包 这里注意的是 ./gradlew build 命令把de...原创 2018-09-20 23:50:14 · 1501 阅读 · 0 评论 -
Android中setOnTouchListener的MotionEvent.ACTION_UP突然不执行了
在项目中有一个触摸发送语音的功能,我使用了view的setOnTouchListener(),监听手指触摸的状态进行相应操作。 mHoldToTalk.setOnTouchListener((v, event) -> { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: ...原创 2019-06-19 11:35:32 · 2566 阅读 · 1 评论 -
RecycleView调用notifyDataSetChanged()时,HeaderView中的EditText失去焦点
最近在项目中遇到要把搜索框与列表一起滑动,于是就在recycleview的的HeaderView中添加了一个edittext,但是问题来了,每次当我调用notifyDataSetChanged()刷新数据的时候,edittext的焦点就会自动消失,尝试了很久,找出两种解决办法:在adapter中复写此方法 @Override public long getItemId(int p...原创 2019-06-05 10:41:22 · 769 阅读 · 0 评论 -
禁止SeekBar滑动和点击的两种方式
最近在项目中要使用seekbar展示音频播放进度,本来进度是可以调节的,但后面产品要禁用滑动和点击,就需要禁掉SeekBar的滑动和点击事件,当然你也可以用ProgressBar来显示,下面说一下禁止Seekbar滑动和点击的两种方法:用属性直接设置: private void setSeekBarClickable(SeekBar mSeekBar, boolean clickable)...原创 2019-03-30 16:15:28 · 5444 阅读 · 3 评论 -
java 毫秒值转换成固定格式 00:00 和 1′23″
/** * 毫秒转化为 00:00格式 */public static String formatMillSecondClock(long ms) { if (ms <= 0) { return ""; } Integer ss = 1000; Integer mi = ss * 60; Integer hh = mi * 60;...原创 2019-03-26 15:23:27 · 336 阅读 · 0 评论 -
Android/java 仿微信聊天列表时间显示规则
微信时间显示规则:今天: HH:mm ,例 8:28昨天: 昨天 HH:mm, 例 昨天 9:27近7天 : 星期X HH:mm ,例 星期一 6:25今年: M月d日 HH:mm 例 3月2日 9:43往年: yyyy年M月d日 HH:mm 例 2018年6月9日 6:52 public static String getTimeString(Long time...原创 2019-03-26 15:17:21 · 4625 阅读 · 0 评论 -
Android/java 判断今天和昨天
/** * 是否为今天 */public static boolean isToday(Long timeStamp) { Calendar todayCalendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(timeS...原创 2019-03-26 15:02:23 · 1093 阅读 · 0 评论 -
RecycleView复用错乱常用解决办法
RecycleView相对于ListView来说,它本身已经帮你解决了布局复用问题,但是使用不当,还会出现布局错乱问题。1.当显示的数据是同步显示的,一般出现错乱都是因为逻辑问题,在recycleview中逻辑判断写if一定要写else2.当显示的数据是异步的,比如加载网页图片,在图片下载成功以后再设置给imageview显示,如果显示错乱,可以在最开始给imageview设置一个tag,im...原创 2019-03-26 14:51:18 · 3536 阅读 · 1 评论 -
You must not call setTag() on a view Glide is targeting
项目中recycleview报错:You must not call setTag() on a view Glide is targeting原因是你给imageview设置了tag,因为glide已经帮你给imageview设置了tag,防止复用错乱。如果你也设置了tag,会与glide冲突,所以去掉你自己的tag就会解决此问题。...原创 2019-03-22 16:13:33 · 407 阅读 · 0 评论 -
GreenDao打印SQL执行日志
在使用greendao的时候,SQL查询不是想要的结果,想看看执行的SQL是什么,只需要开启QueryBuilder的两个属性即可:QueryBuilder.LOG_SQL = true;QueryBuilder.LOG_VALUES = true;...原创 2019-03-22 10:39:54 · 2934 阅读 · 0 评论 -
recycalview 头部添加数据后,刷新界面,使item不滑动(聊天界面)
最近在做聊天界面,下滑拉去历史消息,插到recycleview顶部,但是当调用notifyDataSetChanged()刷新界面时,布局会滑动,我想要的效果是item还保持在当前的位置。解决办法:调用notifyItemRangeInserted(int positionStart, int itemCount)其他的刷新方法notifyItemChanged(int position) ...原创 2019-03-22 10:34:44 · 1745 阅读 · 0 评论 -
ScrollView设置march_parent后没有撑满布局
最近在项目中用到了ScrollView,即使设置了android:layout_height="match_parent"但仍不能充满布局,与里面包裹的内容高度相同。 给scrollview加上下面属性就可以解决此问题:android:fillViewport="true"...原创 2018-08-27 19:11:24 · 397 阅读 · 0 评论 -
自定义view调用invalidate()不起作用
解决办法: invalidate(); forceLayout(); requestLayout();原创 2019-06-04 17:32:35 · 2065 阅读 · 0 评论