Szukam metody w Androidzie, która zajmie dane wejściowe (tekst, text_font_size, device_width) i na podstawie tych obliczeń zwróci wartość wysokości wymaganą do wyświetlenia określonego tekstu?Jak zmierzyć wysokość TextView w oparciu o szerokość urządzenia i rozmiar czcionki?
Ustawiam środowisko wykonawcze do widoku tekstu/podglądu strony w oparciu o jego zawartość, jestem świadomy treści przekłamań, ale nie mogę jej użyć w moim przypadku z powodu pewnego problemu dotyczącego minimalnej wysokości widoku strony.
Próbuję obliczyć wysokość i na tej podstawie ustawiam wysokość widoku.
Próbowałem z następujących sposobów
Paint paint = new Paint();
paint.setTextSize(text.length());
Rect bounds = new Rect();
paint.getTextBounds(text, 0, 1, bounds);
mTextViewHeight= bounds.height();
So wyjściem jest
1) "Hello World" zwraca wysokość 13 dla czcionki 15
2) „Najnowsza wersja Jelly Bean jest tutaj, z optymalizacją wydajności "zwraca wysokość 16 dla czcionki 15
Następnie próbowałem z
Paint paint = new Paint();
paint.setTextSize(15);
paint.setTypeface(Typeface.SANS_SERIF);
paint.setColor(Color.BLACK);
Rect bounds = new Rect();
paint.getTextBounds(text, 0, text.length(), result);
Paint.FontMetrics metrics = brush.getFontMetrics();
int totalHeight = (int) (metrics.descent - metrics.ascent + metrics.leading);
więc wyjście jest
1) "Hello World" zwraca wysokość 17 dla czcionki 15
2) "W najnowszej wersji Jelly Bean jest tutaj, z optymalizacji wydajności" zwraca wysokość 17 dla czcionki 15
jeśli ustawię te wartości w moim widoku, a następnie wycinam jakiś tekst, który nie pokazuje całej zawartości.
Znowu wygląda to dobrze na niektórych stołach, ponieważ ma dużą szerokość, ale nie na telefonie.
Czy istnieje sposób obliczenia wysokości na podstawie zawartości?
Niesamowita odpowiedź. – Noundla
co to jest rozmiar tekstu? –