単純な要件であるように見えるものは、かなり苦しいプロセスになっています。いくつかの(通常は複数行の)テキストを表示するには、AppWidgetが必要です。テキストはサイズが異なり、ビューよりも長い場合がありますので、その場合は省略記号を使用する必要があります。このビューでは、Android v3.1のサイズ変更可能なウィジェットもサポートされます。これは、ウィジェットが様々なサイズのコンテンツを正しく動的にサポートできることを再び必要とします。簡単だと思いますか?そして、もしそれが1行のTextViewだったら、それは...と思う。AppWidgetで楕円形の複数行のテキスト?
最初は1つのTextViewを作成し、テキストが収まらないときに省略記号に設定して、the bug動作しません - テキストは2行に渡ってのみラップします。
それから、私はan open source custom view that ellipsizes correctlyを複数の行でつかんで、うまく動作しますが、アクティビティでのみ動作します。私はAppWidgetがViewsがウィジェットに入ることを制限しているので、これも失敗することを忘れていました( "Classは許可されていません")。このカスタムビューを使用する方法はありません。
私が考えることができる最良の解決策は、ウィジェットに一連の単列TextViewを追加し、次の列に移動する前に各行に収まる長さを見つけるまで部分文字列を反復することです。テキストを手動でレンダリング/測定/レンダリングする。このアプローチには多くの短所があります。
複数行の省略記号付きのテキストをAppWidgetに追加するより良い方法はありますか?
あなたが提案するアプローチはHoneycomb以降では問題ありませんが、アプリは他のデバイス上で動作します。私はここにバグがあることは明らかだと思う - いくつかのシナリオでは省略されているが、他のシナリオでは省略されている。おそらく最後の行が透明度を使ってバックグラウンドにフェードアウトすることになるでしょう - それは醜いですが、プラットフォームの制限を考えると分かりやすい解決策です。 –
あなたは何を意味するのか分かりません。私が提案しているアプローチは、Android 3.1で導入されたサイズ変更可能なウィジェット機能を使用しないことです。 – hackbod
ユーザーのサイズが変更されていません - ウィジェットはサイズが異なるテキストを表示します。ウィジェットは固定されたサイズであり、内容は様々です。単語を半分にするのではなく、弾力性を持って処理する方法がいくつかあります。フレームワーク実装が期待通りに動作しないのは非常に残念です。 –