gpt4 book ai didi

android - 重置Android textview maxlines

转载 作者:IT王子 更新时间:2023-10-28 23:47:04 30 4
gpt4 key购买 nike

我想制作一个可通过用户触摸折叠的 TextView。当 TextView 折叠时,我设置了 textView.setMaxLines(4);。如何在扩展方法中清除此状态?我只能想到用 10000 之类的大数字调用 setMaxLines()

有没有更好的方法来实现这一点?

最佳答案

实际上,android 平台的做法是将 MaxLine 设置为 Integer.MAX_VALUE。

textView.setMaxLines(Integer.MAX_VALUE);

另外,如果您使用的是 Ellipsize,请不要忘记设置为 null。

textView.setEllipsize(null);

只需检查 android 框架是如何做到这一点的 ;) 观察 setMaxLines(Integer.MAX_VALUE);

private void applySingleLine(boolean singleLine, boolean applyTransformation) {
mSingleLine = singleLine;
if (singleLine) {
setLines(1);
setHorizontallyScrolling(true);
if (applyTransformation) {
setTransformationMethod(SingleLineTransformationMethod.getInstance());
}
} else {
setMaxLines(Integer.MAX_VALUE);
setHorizontallyScrolling(false);
if (applyTransformation) {
setTransformationMethod(null);
}
}
}

您可以在 Android 开源项目 (AOSP) 的源代码中找到它

https://source.android.com/source/downloading

如果你不想下载源代码,你可以在 github 上的镜像上查看源代码。

https://github.com/aosp-mirror/platform_frameworks_base/blob/master/core/java/android/widget/TextView.java

关于android - 重置Android textview maxlines,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5413394/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com