gpt4 book ai didi

android - 用于显示可滚动多行文本的最佳 Android 控件

转载 作者:太空狗 更新时间:2023-10-29 12:41:19 25 4
gpt4 key购买 nike

我开始在 Android 中编写电子书类型的程序,但不知道苹果 UITextView 的最佳替代方案。

它需要显示多行只读文本并且可以滚动。

最佳答案

您已经知道这个类 - 它是 TextView - 您可以将其调整为可滚动。

在 XML View 模板中放置 android:scrollbars="vertical":

<TextView 
android:id="@+id/myText"
android:scrollbars="vertical"

然后在 java 代码中放置:

mTextView = (TextView) findViewById(R.id.myText);
mTextView.setMovementMethod(ScrollingMovementMethod.getInstance());

如果您希望您的 TextView 在文本更改后自动滚动到底部,请添加如下代码:

mTextView.addTextChangedListener(new TextWatcher() {

@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}

@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}

@Override
public void afterTextChanged(Editable s) {
scrollToLastLine(mTextView);
}

private void scrollToLastLine(TextView tv) {
int scrollY = 0;
if (!TextUtils.isEmpty(tv.getText())) {
final int linesCount = tv.getLineCount();
if (linesCount > 0) {
scrollY = Math.max(0,
tv.getLayout().getLineTop(linesCount)
- tv.getHeight());
}
}
tv.scrollTo(0, scrollY);
}
});

关于android - 用于显示可滚动多行文本的最佳 Android 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25245619/

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