2016-05-04 4 views
1

以前の内容に応じて高さのTextViewがありますが、長いテキストが含まれている可能性があります。どのように私は正しい点でそれをカットし、新しい点に似た3つの点または何かを連結することができますか?Android:TextViewの長いマルチラインテキストに切り捨てる

現在のところ、それは次のようになります。 Multiline text which is cut off

私は単一行テキストのためのいくつかの解決策を見つけましたが、それはどのように複数行で動作しますか?これは画面のサイズに依存するので、私はまた、行の数を知らない。

テキストを拡張できることを示すために、Androidには他にも典型的な方法がありますか?例えば。最後の行の色の勾配?

編集:私は、固定heigthせずにそれを行うと、私は高さを確認する必要があり

は、上記の要素に依存し、私のXMLは次のようになります。私は

<TextView 
    android:id="@+id/podcastShortDesc" 
    android:text="Long text" 
    android:layout_below="@+id/podcastTitle" 
    android:layout_toRightOf="@+id/podcastLogo" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 

    android:maxLines="3" 
    android:ellipsize="end" 

    android:layout_above="@+id/podcastMoreAction" /> 

I have luck

をしかしタイトルが大きすぎる場合、それは動作しません:私は運を持つことができるANそれが動作しますMAXLINESを指定

enter image description here

+0

をスクロールを追加:layout_height = "50dipは" 固定高さの問題が発生します。それをwrap_contentに削除します。 ellipsize:endとandroid:linesを追加します。 –

+0

私は固定された高さを持っています。私はそれに長すぎるテキストをどのように適応させ、正しい位置で切り捨てることができるかを知りたいです。 – Eknoes

答えて

1

これを試してください。それが動作することを願っています。

<TextView 
android:id="@+id/podcastShortDesc" 
android:text="LONG LONG LONG TEXT" 
android:layout_width="match_parent" 
android:layout_height="50dip" 
android:maxHeight="50dp" 
android:ellipsize="end"/> 

私がテストしたところ、50dpは通常のフォントサイズで2行表示できます。したがって、50dpの高さでは、maxLines 2を追加する必要があります。

+0

問題は、私が持っている行数がわからないということです - これは違うでしょう。ですから、私は最大行数を指定したくありません。 – Eknoes

+0

身長がわからない場合。 maxHeightを追加する必要があります。 maxHeightを追加すると、自動的に垂直スクロールバーが追加されます。 – Masum

+0

私はちょうど私の質問を更新しました、多分私の問題は理解しやすくなりました – Eknoes

1

"3 dots"の最後に次のコードを追加する必要があります。

android:ellipsize="end" 

あなたは

android:layout_height="50dip" 

固定heightプロパティを削除する必要があります代わりに、あなたがライン

android:maxLines="4" 
android:layout_height="wrap_content" 

の数を追加する必要がAndroidのは、他のすべてを気にかかります。このようにして、テキストが4行よりも小さくても、アンドロイドは気を配ります。それが4行以上の場合は、 "3 dots"を追加します:)固定高さを指定すると、テキストがカットされることがあります。

+0

ありがとう!しかし残念ながら私はmaxLinesを知らない。これは以前の内容に依存する。私はこれを説明するために私の質問を更新しました。 – Eknoes

0

は、このフィックスlayout_heightを試してみて、アンドロイドのあなたのTextViewに

<TextView 
android:id="@+id/text1" 
android:layout_width="match_parent" 
android:layout_height="50dip" 
android:text="Hello......" 
android:scrollbars="vertical"/>