8

ここで同様の懸念を持つ他のスレッドをいくつか読みましたが、それらの回答はどれも私にとってはうまくいかないようでした.

Android で省略記号が機能しない

Android:切り捨てられた長い文字列に「...」を追加するには、android:ellipsize="end" よりも優れたものがありますか?

テキスト ビューとイメージ ビューの 2 つの要素を持つ相対レイアウトがあります。テキストビューを1行にし、画像ビューの約5spを切り捨て、テキストの最後に省略記号を適用する必要があります。

<RelativeLayout
                android:id="@+id/title_close"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="5sp">

                <TextView
                    android:id="@+id/"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:textSize="10sp"
                    android:textColor="#FFFFFF"
                    android:text="title"
                    android:maxLines="1"
                    android:ellipsize="end"/>

                <ImageView
                    android:id="@+id/"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_marginRight="5sp"
                    android:layout_marginLeft="5sp"
                    android:background="@drawable/home"/>

</RelativeLayout>

上記のコードでは、イメージ ビューに左マージンを適用して、テキスト ビューを左側に強制的に適用し、マージンに入れている数の sp だけ切り捨てようとしていました。

上記のコードは、テキスト ビューを 1 行に切り詰めて (...) を追加しますが、その行の末尾にのみ追加します。ImageView に関係なく、私がそれに適用するマージンに関係なく、それは正しいです。テキストの上に画像ビューが表示されます。これは、それらが相対的なレイアウトにあることが原因である可能性があると考えました。

画像ビューが占めるマージン/スペースをテキストビューで尊重させる方法を理解する上での助けをいただければ幸いです。

4

1 に答える 1

6

あなたがしたいことは、最初に画像ビューを(マージン付きで)配置し、次にテキストを左の境界線に合わせて画像の左に配置するように設定することだと思います。

于 2012-10-08T20:25:06.053 に答える