Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Graphic Ui
提交
6a2cee43
G
Graphic Ui
项目概览
OpenHarmony
/
Graphic Ui
大约 1 年 前同步成功
通知
13
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Graphic Ui
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6a2cee43
编写于
3月 29, 2021
作者:
N
niulihua
提交者:
Gitee
3月 29, 2021
浏览文件
操作
浏览文件
下载
差异文件
!37 fix UILabel GetTextWidth value error when LineBreakMode is LINE_BREAK_ELLIPSIS
Merge pull request !37 from wangtiantian/master
上级
6beac400
bb53950e
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
18 addition
and
7 deletion
+18
-7
frameworks/common/text.cpp
frameworks/common/text.cpp
+13
-1
frameworks/components/ui_label.cpp
frameworks/components/ui_label.cpp
+3
-6
interfaces/kits/common/text.h
interfaces/kits/common/text.h
+2
-0
未找到文件。
frameworks/common/text.cpp
浏览文件 @
6a2cee43
...
...
@@ -165,6 +165,18 @@ void Text::ReMeasureTextSize(const Rect& textRect, const Style& style)
}
}
void
Text
::
ReMeasureTextWidthInEllipsisMode
(
const
Rect
&
textRect
,
const
Style
&
style
,
uint16_t
ellipsisIndex
)
{
if
(
ellipsisIndex
!=
TEXT_ELLIPSIS_END_INV
)
{
int16_t
lineMaxWidth
=
expandWidth_
?
textSize_
.
x
:
textRect
.
GetWidth
();
uint32_t
maxLineBytes
=
0
;
uint16_t
lineCount
=
GetLine
(
lineMaxWidth
,
style
.
letterSpace_
,
ellipsisIndex
,
maxLineBytes
);
if
((
lineCount
>
0
)
&&
(
textSize_
.
x
<
textLine_
[
lineCount
-
1
].
linePixelWidth
))
{
textSize_
.
x
=
textLine_
[
lineCount
-
1
].
linePixelWidth
;
}
}
}
void
Text
::
OnDraw
(
const
Rect
&
invalidatedArea
,
const
Rect
&
viewOrigRect
,
const
Rect
&
textRect
,
...
...
frameworks/components/ui_label.cpp
浏览文件 @
6a2cee43
...
...
@@ -231,9 +231,7 @@ uint16_t UILabel::GetTextWidth()
{
InitLabelText
();
if
(
labelText_
->
IsNeedRefresh
())
{
Style
style
=
GetStyleConst
();
style
.
textColor_
=
GetTextColor
();
labelText_
->
ReMeasureTextSize
(
GetContentRect
(),
style
);
ReMeasure
();
}
return
labelText_
->
GetTextSize
().
x
;
}
...
...
@@ -242,9 +240,7 @@ uint16_t UILabel::GetTextHeight()
{
InitLabelText
();
if
(
labelText_
->
IsNeedRefresh
())
{
Style
style
=
GetStyleConst
();
style
.
textColor_
=
GetTextColor
();
labelText_
->
ReMeasureTextSize
(
GetContentRect
(),
style
);
ReMeasure
();
}
return
labelText_
->
GetTextSize
().
y
;
}
...
...
@@ -297,6 +293,7 @@ void UILabel::ReMeasure()
break
;
case
LINE_BREAK_ELLIPSIS
:
ellipsisIndex_
=
labelText_
->
GetEllipsisIndex
(
GetContentRect
(),
style
);
labelText_
->
ReMeasureTextWidthInEllipsisMode
(
GetContentRect
(),
style
,
ellipsisIndex_
);
break
;
case
LINE_BREAK_MARQUEE
:
RemeasureForMarquee
(
textSize
.
x
);
...
...
interfaces/kits/common/text.h
浏览文件 @
6a2cee43
...
...
@@ -245,6 +245,8 @@ public:
virtual
void
ReMeasureTextSize
(
const
Rect
&
textRect
,
const
Style
&
style
);
void
ReMeasureTextWidthInEllipsisMode
(
const
Rect
&
textRect
,
const
Style
&
style
,
uint16_t
ellipsisIndex
);
void
OnDraw
(
const
Rect
&
invalidatedArea
,
const
Rect
&
viewOrigRect
,
const
Rect
&
textRect
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录