studio programacion para libros gratis edición desarrollo desarrollar aprende aplicaciones android android-textview lines

android - programacion - ¿Cómo determinar el número de líneas visibles en TextView?



programacion android pdf 2018 (2)

¿Cómo obtener cuántas líneas se muestran en la parte visible de TextView ? Uso texto, que no está completamente colocado en TextView en cada resolución de pantalla.

<?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);


Intenta algo como esto:

<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" />

Con

android:lines="2"

My EditText obtiene el espacio para 2 líneas, después de eso, el campo obtiene scroll. Recuerda usar

android:singleLine="false"

No probé con TextView, pero creo que funcionará.


android.text.Layout contiene esta información y más. Use textView.getLayout().getLineCount() para obtener el recuento de líneas.

Tenga en cuenta que getLayout() puede devolver un null si se llama antes de que finalice el proceso de diseño. Llame a getLayout() después de onGlobalLayout() o onPreDraw() de ViewTreeObserver . P.ej

textView.getViewTreeObserver().addOnPreDrawListener(() -> { final int lineCount = textView.getLayout().getLineCount(); });

Si solo desea un recuento de líneas visibles, probablemente debería utilizar el enfoque mencionado en la respuesta a continuación:

¿Hay alguna forma de recuperar un conteo o rango de líneas visibles de TextView?