人!
さて、2日近くグーグルして結果が出なかったので、ここで聞いてみることにしました。(これが私の最初の質問です。)
Android用の見積もりウィジェット(毎回ランダムな見積もりを表示)を作成しているので、新しいランダムな見積もりを取得するための2つのTextViewと1つのImageButtonがあります。最初のTextViewは引用テキストを表示し、2番目は引用の作成者を表示します。また、ユーザーがウィジェットをクリックすると、アクティビティが呼び出され、見積もりが全画面表示され、必要に応じてスクロールバーが表示されます。
引用のテキストが非常に長い場合があるので、私はそれを省略したかったのです。しかし、ellipsizeは2行以上では機能しないので...私はアイデアを探しています。
必要かどうかはわかりませんが、レイアウトコードはこちらです。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/laySmall"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="@dimen/widget_margin"
android:background="@drawable/widgetback" >
<ImageButton
android:id="@+id/ibtNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="4dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:background="@null"
android:contentDescription="@string/app_name"
android:src="@drawable/seta" />
<TextView
android:id="@+id/txtWdgQuote"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/ibtNext"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginBottom="8dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_marginTop="4dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#000000"
android:textStyle="italic"
android:typeface="serif"
android:maxLines="3" />
<TextView
android:id="@+id/txtWdgAuthor"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="4dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#000000"
android:textStyle="bold" />
</RelativeLayout>
基本的に、このプロジェクトには3つのAppWidgetがあり、ほぼ同じものを示しています。変更されるのは、サイズとフォントサイズだけです。
だから...私が持っていた1つのアイデアは、カスタムTextViewを使用することでした。しかし、AppWidgetでは、方法はありません。:/
別のアイデアは次のようなことをしていました:
if (quoteText.length() > something) {
quoteText = quoteText.substring(0, something) + "\"[...]"
}
このソリューションの問題は、表示できる文字列のサイズを変更する可能性があるため、改行がどこにあるかです。たとえば、小さな単語を含む文字列を考えてみましょう。境界線の横で線が途切れます。一方、より大きな単語を含む文字列は、境界線から遠くなります。
だから...私は何をしているのかわかりません。何かアイデアはありますか?
ありがとう!
(android:layout_marginに問題があるため、少し小さくすることができますが、まだこれに取り組む時間がありませんでした。