YBAO's Blog


  • Home

  • Categories

  • Archives

  • Tags

校园通问题总结

Posted on 2016-08-31 |

花了几个月的时间写校园通–华师匣子,在写的过程中碰到了一些问题,有些比较常见,所以就写个博客总结下在做项目过程中碰到的问题。后续随着版本的更新还会补充。

1.view相关

Q:Toolbar 有时候会出现 navigationicon不会居中的情况
A:这时后要设置Toolbar 的minHeight 和layout_height相同, Toolbar 控件的文档里面说明了这种情况。

Toolbar supports a more focused feature set than ActionBar. From start to end, a toolbar may contain a combination of the following optional elements:A navigation button…..The navigation button is vertically aligned within the Toolbar’s minimum height, if set.

Q:如何动态更新 menu
A:在 onPrepareOptionMenu中写上相应的显示逻辑,这个方法是在每次展现menu时调用。

Q:当登录页有背景大图时,为了让输入框不被键盘挡住会把windowSoftInputMode设置为adjustResize,但这样直接放背景图时会被压缩。
A:较好的解决办法有两种。
如果是全屏背景则直接把加入下面一行代码

1
getWindow().setBackgroundDrawable();
Read more »

view的滑动与事件分发

Posted on 2016-06-17 |

view的滑动方式

通过Scroller来进行滑动

view 自身就提供了两个方法通过Scroller来实现滑动:scrollTo和scrollBy ,而scrollBy本身也是通过调用scrollTo 来实现,scrollTo传入的参数是想要滑动到的目的坐标 x,y ,这里的 x,y并不是view 中内容相对于 view 位置原点的坐标,这也是很多人会认为为什么这里的移动规则怎么会是相反的,可以结合着源码看下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public void scrollTo(int x ,int y){
if(mScrollX != x || mScrollY != y){
int oldX = mScrollX;
int oldY = mScrollY;
mScrollX = x;
mScrollY = y;
invalidateParentCaches();
onScrollChanged(mScrollX,mScrollY,oldX,oldY);
if(!awakenScrollBars()){
postInvalidateOnAnimation();
}
}
}
public void scrollBy(int x, int y){
scrollTo(mScrollX + x,mScrollY + y);
}
Read more »
12
ybao

ybao

12 posts
5 tags
GitHub 微博
© 2019 ybao
Powered by Hexo
Theme - NexT.Muse