テキストストリングが長すぎると、文字列が切り捨てられたり、歪んだりすることがあります。 これがいつ発生したかを検出し、レンダリングされたものとレンダリングが要求されたものとの正確な文字列を取得する方法はありますか?
楕円は必ずしも描かれません。コンテンツの愚かなエディタについて聞かせてください。たくさんのコンテンツがあり、あなたは今コードをフォーマットしていません!TextView実際にレンダリングされるテキストを取得するにはどうすればよいですか?
final ViewTreeObserver obs = viewHolder.myTextView.getViewTreeObserver();
obs.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Layout l = viewHolder.myTextView.getLayout();
if (l != null) {
int lines = l.getLineCount();
if (lines > 0) {
if (l.getEllipsisCount(lines-1) > 0) {
LazLog.d(PaginatorAdapter.class.getSimpleName(), "Text is ellipsized");
}
}
}
});
時には、テキスト文字列が長すぎると切り詰められるか、または歪んでしまいます。これが起こったときをどうやって検出し、レンダリングされるか、レンダリングされるように要求された正確な文字列を得ることができますか?楕円は必ずしも描かれません。 STUPID STACK OVERFLOWエディタの内容を聞いてはいけません。たくさんのコンテンツがあり、あなたは今コードをフォーマットしていません!私はタップスペース以上にプッシュしており、コードとして認識していません。誰かが編集して、私がここで間違っていたと思われるものを教えてください?あなたのTextView
の
これはクラッシュします。何が起きているのですか?https://stackoverflow.com/questions/44243141/textview-detect-if-string-exceeds-available-space文字列が長すぎるときを検出しようとしています。これまでのところ、spannableを切り捨て、最後の半分を残しています。また、楕円もしません。 – gitsensible
代わりに切り詰めるとどうなりますか?レンダリングされるStringを返すメソッドが必要です。 setText(spannable)の間に渡されたものとは反対の文字列全体 – gitsensible
私のコードスニペットは切り捨てられたテキストを返します... – moritzg