4

データベースから取得したテキストが入力されたTextViewがあるため、その長さは未定義です。

maxline属性を使用してTextViewを構成し、3行を超えるテキストが必要ないため、その値を3に設定しました。また、ellipsize属性を使用します。

しかし、それは正しく動作しません。テキストは3行より大きくなりますが、2行しか印刷されません。

<TextView
    android:id="@+id/etLugar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/tvLugar"        
    android:layout_marginLeft="15dp"
    android:layout_toRightOf="@+id/tvLugar"
    android:text="A very large text than must be shown in the textview, but no more of three lines are going to be shown"
    android:textColor="@color/foreground1"        
    android:maxLines="3"
    android:ellipsize="end"        
    android:textSize="12dp" 
    />

maxlines属性が正しく機能しない理由がわかりません。私が間違っているのは何ですか?

ありがとう

4

5 に答える 5

3

android:singleLine="false"デフォルト値が原因であると思いますがTRUE 、それが機能するかどうかを確認するために変更してみてください。

于 2013-06-01T18:02:18.370 に答える
0

同じ質問Android ellipsize multiline textviewがあります。これは既知のバグで、かなり古く、まだ修正されていません。

誰かが回避策Android Textview Multiline Ellipse を投稿しました/多分それはあなた(または他の誰か)を助けるでしょう.

于 2012-07-20T11:30:40.600 に答える
0

私は2つのTextViewで同様の問題を抱えています.1つはmaxLines = "2"で、もう1つはmaxLines = "4"です。

最初は、追加する楕円サイズの設定に関係なく、常に 1 行でした。2 番目は問題ではなく、テキストは必要な数の行を使用していました。

それは2つの要因に依存しているようです:

  1. レイアウトのその他の要素
  2. 設定されている場合、textAppearance は、この設定または singleLine オプションを壊す/上書きする可能性があります

これを解決するために、テキストビューで直接それを行うコードを追加しました:

tv1.setMaxLines(2);
tv2.setMaxLines(4);

そして、それはトリックをしました。

于 2014-03-24T12:38:39.810 に答える
0

2行しかないコンテンツが少ないため、コード(xml)を記述して文字列にさらにコンテンツを入力してみてください。

画像ここに画像の説明を入力

于 2013-10-02T06:10:24.787 に答える
-1

ellipsize属性を使用しないでくださいandroid:maxlines="3"。機能するはずです。

于 2012-07-20T11:30:08.930 に答える