1

人!

さて、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に問題があるため、少し小さくすることができますが、まだこれに取り組む時間がありませんでした。

4

0 に答える 0