美文网首页
ViewGroup 默认顺序绘制子 View,如何修改?什么场景

ViewGroup 默认顺序绘制子 View,如何修改?什么场景

作者: 菜鸟何时起飞 | 来源:发表于2020-07-18 22:27 被阅读0次

文章地址:https://mp.weixin.qq.com/s/G3BKLbu1gjIIf8-qY6DFBg

@Override
protected int getChildDrawingOrder(int childCount, int i) {
  View view = getLayoutManager().getFocusedChild();
  if (null == view) {
    return super.getChildDrawingOrder(childCount, i);
  }
  int position = indexOfChild(view);
  if (position < 0) {
    return super.getChildDrawingOrder(childCount, i);
  }
  if (i == childCount - 1) {
    return position;
  }
  if (i == position) {
    return childCount - 1;
  }
  return super.getChildDrawingOrder(childCount, i);
}

文章中的这种实现 其实是把获取焦点的item与最后一个item的绘制顺序替换了,也会导致最后一个item的绘制顺序跟原有的item的绘制顺序也会变化,所以如果只是想把指定的item放到最后绘制,还是需要每个index都要重新计算的。

相关文章

网友评论

      本文标题:ViewGroup 默认顺序绘制子 View,如何修改?什么场景

      本文链接:https://www.haomeiwen.com/subject/syhqkktx.html