ExpandableTextView icon indicating copy to clipboard operation
ExpandableTextView copied to clipboard

Android 9系统中,内容会显示不全

Open ksd32767 opened this issue 6 years ago • 7 comments

ksd32767 avatar May 05 '19 04:05 ksd32767

        int lineHeight = 0;
        for (int i = 0; i < lineCount; i++) {
            Rect lienBound = new Rect();
            sl.getLineBounds(i, lienBound);
            lineHeight += lienBound.height();
        }

暂时这么处理,改成下面(不知道原因):

        float lineHeight = 0;

        if(lineCount > 0) {
            Rect lienBound = new Rect();
            sl.getLineBounds(0, lienBound);
            int h = lienBound.height();
            lineHeight += h * lineCount;
        }

captain-miao avatar May 14 '19 06:05 captain-miao

我这里不是很好改,等楼住更新吧,谢谢回复 @captain-miao

ksd32767 avatar May 23 '19 07:05 ksd32767

我这边并没有发现这个现象

devzld avatar Aug 02 '19 08:08 devzld

@devzld 是 9.0的系统吗?

ksd32767 avatar Aug 09 '19 04:08 ksd32767

@ksd32767 我用的华为9.0系统,没发现

devzld avatar Aug 14 '19 01:08 devzld

遇到同样的问题,使用captain-miao的方案可以解决。

liuhuiAndroid avatar Nov 18 '19 08:11 liuhuiAndroid

我也遇到了, captain-miao 的方案在我这里还是有问题。我现在是安卓 13,这样写可以完美解决问题。

val staticLayout = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
            StaticLayout(mText, paint, measuredWidth - paddingLeft - paddingRight, Layout.Alignment.ALIGN_CENTER, 1f, 0f, true)
        } else {
            val builder = StaticLayout.Builder.obtain(mText, 0, text.length, paint, measuredWidth - paddingLeft - paddingRight)
                .setAlignment(Layout.Alignment.ALIGN_CENTER)
                .setLineSpacing(0f, 1f)
                .setIncludePad(true)

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
                builder.setUseLineSpacingFromFallbacks(true)
            }

            builder.build()
        }

HenryWu01 avatar Dec 23 '22 21:12 HenryWu01