gpt4 book ai didi

android - 如何检测 Android 中 TextView 的重叠和重置位置?

转载 作者:行者123 更新时间:2023-11-29 01:30:20 24 4
gpt4 key购买 nike

所以我的 xml 文件中的 RelativeLayout 中有两个 TextView。当它们被本地化为不同的语言时,这两个 View 将有可能相互重叠。

在这种情况下,我想将它们分成两行而不是一行。如何在 Java 代码中检测重叠并重新设置它们的位置等等?

最佳答案

我是用 LinearLayout 做的,通过使用 textview 的自动换行功能,我能够检测到 textview 是否换行。通过使用 ViewTreeObserver 并查看 TextView 的行数,然后我以编程方式将 View 设置为 Gone。

final TextView text = findViewById(R.id.textview1);
text.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int lineCount = text.getLineCount();
Log.d(this, "LineCount = " + lineCount);
if (lineCount > 1) {
text.setVisibility(View.GONE);
}
getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
});

只需确保您的布局不是椭圆形,或者您将 singleLine 或 Maxlines 设置为 true 或 1。我将我想要的一个 TextView 上的 Max line 设置为 2,这样如果它不会换行适合。

关于android - 如何检测 Android 中 TextView 的重叠和重置位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31595686/

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