Skip to content

Commit 733bf8a

Browse files
authored
[#583]小说组件校验行数不对应绘制 (#584)
1 parent f718a67 commit 733bf8a

File tree

1 file changed

+21
-2
lines changed
  • core/runtime/android/widgets/src/main/java/org/hapjs/widgets/view/readerdiv

1 file changed

+21
-2
lines changed

core/runtime/android/widgets/src/main/java/org/hapjs/widgets/view/readerdiv/ReaderText.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2023, the hapjs-platform Project Contributors
2+
* Copyright (c) 2023-present, the hapjs-platform Project Contributors
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55
package org.hapjs.widgets.view.readerdiv;
@@ -231,7 +231,26 @@ protected void onDraw(Canvas canvas) {
231231
mLineY += getLineHeight();
232232
}
233233
if (hasDrawCount > 0 && mPageData.size() > 0
234-
&& hasDrawCount < (mPageData.size() - 1)) {
234+
&& hasDrawCount < mPageData.size()) {
235+
for (int i = hasDrawCount; i < mPageData.size(); i++) {
236+
String pageLineStr = mPageData.get(i);
237+
if (!TextUtils.isEmpty(pageLineStr)) {
238+
canvas.save();
239+
canvas.clipRect(new RectF(0, mLineY, getWidth(), mLineY + mLineHeight));
240+
canvas.drawColor(mBgColor);
241+
canvas.drawText(pageLineStr, 0, mLineY + mTextSize, paint);
242+
canvas.restore();
243+
}
244+
//背景色
245+
if (!TextUtils.isEmpty(pageLineStr) && mIsLineBgInvalid && i >= mStartLine && i < mEndLine) {
246+
canvas.save();
247+
canvas.clipRect(new RectF(0, mLineY, getWidth(), mLineY + mLineHeight));
248+
canvas.drawColor(mLineBgColor);
249+
canvas.drawText(pageLineStr, 0, mLineY + mTextSize, paint);
250+
canvas.restore();
251+
}
252+
mLineY += getLineHeight();
253+
}
235254
Log.w(TAG, ReaderLayoutView.READER_LOG_TAG + "onDraw error hasDrawCount : " + hasDrawCount
236255
+ " mPageData.size() : " + mPageData.size()
237256
+ " Layout count : " + (null != layout ? layout.getLineCount() : "null layout"));

0 commit comments

Comments
 (0)