Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
门心叼龙
flexbox-layout
提交
e28c06a5
F
flexbox-layout
项目概览
门心叼龙
/
flexbox-layout
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
flexbox-layout
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e28c06a5
编写于
9月 26, 2017
作者:
T
Takeshi Hagikura
提交者:
GitHub
9月 26, 2017
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix the issue that dividers become invisible when there is a gone view in the middle (#361)
上级
3fd14340
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
6 addition
and
8 deletion
+6
-8
flexbox/src/main/java/com/google/android/flexbox/FlexboxLayout.java
...c/main/java/com/google/android/flexbox/FlexboxLayout.java
+6
-8
未找到文件。
flexbox/src/main/java/com/google/android/flexbox/FlexboxLayout.java
浏览文件 @
e28c06a5
...
...
@@ -927,21 +927,21 @@ public class FlexboxLayout extends ViewGroup implements FlexContainer {
* {@code false} otherwise
*/
private
void
drawDividersHorizontal
(
Canvas
canvas
,
boolean
isRtl
,
boolean
fromBottomToTop
)
{
int
currentViewIndex
=
0
;
int
paddingLeft
=
getPaddingLeft
();
int
paddingRight
=
getPaddingRight
();
int
horizontalDividerLength
=
Math
.
max
(
0
,
getWidth
()
-
paddingRight
-
paddingLeft
);
for
(
int
i
=
0
,
size
=
mFlexLines
.
size
();
i
<
size
;
i
++)
{
FlexLine
flexLine
=
mFlexLines
.
get
(
i
);
for
(
int
j
=
0
;
j
<
flexLine
.
mItemCount
;
j
++)
{
View
view
=
getReorderedChildAt
(
currentViewIndex
);
int
viewIndex
=
flexLine
.
mFirstIndex
+
j
;
View
view
=
getReorderedChildAt
(
viewIndex
);
if
(
view
==
null
||
view
.
getVisibility
()
==
View
.
GONE
)
{
continue
;
}
LayoutParams
lp
=
(
LayoutParams
)
view
.
getLayoutParams
();
// Judge if the beginning or middle divider is needed
if
(
hasDividerBeforeChildAtAlongMainAxis
(
currentV
iewIndex
,
j
))
{
if
(
hasDividerBeforeChildAtAlongMainAxis
(
v
iewIndex
,
j
))
{
int
dividerLeft
;
if
(
isRtl
)
{
dividerLeft
=
view
.
getRight
()
+
lp
.
rightMargin
;
...
...
@@ -966,7 +966,6 @@ public class FlexboxLayout extends ViewGroup implements FlexContainer {
flexLine
.
mCrossSize
);
}
}
currentViewIndex
++;
}
// Judge if the beginning or middle dividers are needed before the flex line
...
...
@@ -1008,7 +1007,6 @@ public class FlexboxLayout extends ViewGroup implements FlexContainer {
* {@code false} otherwise
*/
private
void
drawDividersVertical
(
Canvas
canvas
,
boolean
isRtl
,
boolean
fromBottomToTop
)
{
int
currentViewIndex
=
0
;
int
paddingTop
=
getPaddingTop
();
int
paddingBottom
=
getPaddingBottom
();
int
verticalDividerLength
=
Math
.
max
(
0
,
getHeight
()
-
paddingBottom
-
paddingTop
);
...
...
@@ -1017,14 +1015,15 @@ public class FlexboxLayout extends ViewGroup implements FlexContainer {
// Draw horizontal dividers if needed
for
(
int
j
=
0
;
j
<
flexLine
.
mItemCount
;
j
++)
{
View
view
=
getReorderedChildAt
(
currentViewIndex
);
int
viewIndex
=
flexLine
.
mFirstIndex
+
j
;
View
view
=
getReorderedChildAt
(
viewIndex
);
if
(
view
==
null
||
view
.
getVisibility
()
==
View
.
GONE
)
{
continue
;
}
LayoutParams
lp
=
(
LayoutParams
)
view
.
getLayoutParams
();
// Judge if the beginning or middle divider is needed
if
(
hasDividerBeforeChildAtAlongMainAxis
(
currentV
iewIndex
,
j
))
{
if
(
hasDividerBeforeChildAtAlongMainAxis
(
v
iewIndex
,
j
))
{
int
dividerTop
;
if
(
fromBottomToTop
)
{
dividerTop
=
view
.
getBottom
()
+
lp
.
bottomMargin
;
...
...
@@ -1049,7 +1048,6 @@ public class FlexboxLayout extends ViewGroup implements FlexContainer {
flexLine
.
mCrossSize
);
}
}
currentViewIndex
++;
}
// Judge if the beginning or middle dividers are needed before the flex line
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录