如何在TextView
的可见部分显示多少行?我使用的文字并没有完全放在TextView
的每个屏幕分辨率上。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/logs_text"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
String s = "very big text"
TextView logText = (TextView) view.findViewById(R.id.logs_text);
logText.setText(s);
答案 0 :(得分:21)
android.text.Layout包含此信息等。使用textView.getLayout().getLineCount()
获取行数。
警惕getLayout()
如果在布局过程完成之前调用null
,可能会返回getLayout()
。在onGlobalLayout()
或onPreDraw()
ViewTreeObserver
之后致电textView.getViewTreeObserver().addOnPreDrawListener(() -> {
final int lineCount = textView.getLayout().getLineCount();
});
。 E.g。
{{1}}
如果您只想要可见的行数,您应该使用下面答案中提到的方法:
Is there a way of retrieving a TextView's visible line count or range?
答案 1 :(得分:-1)
尝试这样的事情:
<EditText
android:id="@+id/edt_obs"
android:layout_width="0dip"
android:layout_weight="75"
android:layout_height="wrap_content"
android:layout_marginBottom="2dip"
android:inputType="textCapCharacters|textMultiLine"
android:scrollHorizontally="false"
android:gravity="top|left"
android:lines="2"
android:singleLine="false"
android:background="@android:drawable/edit_text"
android:textColor="@color/Black"
android:textCursorDrawable="@color/Black"
/>
用
android:lines="2"
我的EditText获取2行的空格,之后该字段获得滚动。记得使用
android:singleLine="false"
我没有使用TextView进行测试,但我认为它会起作用。