2012-01-05 3 views
4

現在、アプリを開発していて、アイスクリームサンドイッチでいくつかのテストを実行したところ、android:ellipsize = "end"というプロパティをテキストビューで使用すると、ドットの後ろに[文字を追加しています。このバグはナッツを運転していて、アイスクリームのサンドイッチにしか見えません。私はprevious thread about thisを見ましたが、そこにあった修正は役に立たなかった。任意のアイデアが、しかし、アンドロイド4.0のレポート、多分?私のコードは、私は何とかアイスクリームサンドイッチを間違っている。楕円アイスクリームサンドイッチが追加されました[

<LinearLayout 
    android:id="@+id/mainTitleLayout" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_weight="0.36" 
    android:orientation="horizontal" 
    android:weightSum="1" > 
<TextView 
    android:id="@+id/mainTitle" 
    android:layout_width="135dp" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="62dp" 
    android:layout_marginTop="4dp" 
    android:layout_weight="0.53" 
    android:editable="false" 
    android:ellipsize="end" 
    android:gravity="center_vertical|center_horizontal" 
    android:singleLine="true" 
    android:textColor="#fff" 
    android:textSize="26sp" 
    android:textStyle="bold" 
    android:width="125dp" > 
</TextView> 
</LinearLayout> 

私は私が実際に1.6でのTextViewでカスタムフォントを使用して、同様の問題があった

TextView title = (TextView) act.findViewById(R.id.mainTitle); 
title.setTypeface(Utils.font); 
title.setText(detailTitle); 
+0

私はLinearLayoutでいくつかのランダムなテキストでテストしましたが、テキストが期待通りに切り捨てられました。 3つの点の後に他の文字はありません。あなたがTextViewに入れたテキストと、そのテキストをそこにどのように置くことができますか? – Flo

+0

TextViewの周囲のLinearLayoutでもうまく動作します。 – Flo

+0

これは私のためにそれを引き起こしていた "NEW YORK SUNGLASSES" 私はコードを使ってテキストを動的に設定しているので、それは何か関係があるかもしれません、テキストフィールドでsetTextを実行すると、 – MikeIsrael

答えて

6

私はあなたの問題を知っていると思います。私はsetTypefaceで設定した私のカスタムフォントでこの問題を発見しました。答えは、Layoutのソースコードにあります。これは、TextViewsの描画を画面に表示します。 ling 1668のメソッド 'ellipsize'を見てください。省略記号に加えて、0幅のスペース(U + FEFF)を使用するように見えます。私の推測では、カスタムフォントには0幅の空白文字が含まれていないので、ボックスがレンダリングされます。私は同じ問題を抱えています!修正するには、.ttfファイルまたは.otfファイルを変更して、0幅のスペース文字を含める必要があります。お役に立てれば!

代わりにアンドロイドの
android:minLines="1" 
android:maxLines="1" 

:単一行= "真" 私はあなただったら

+0

私は同じ問題がありますが、わかりません。.ttfファイルまたは.otfファイルをどのように警告し、0幅のスペース文字。私を助けてください – naresh

1

を経由してコードで動的にテキストを設定します。私の場合、私は、このリンクでのバージョンで標準のTextViewを置き換える:

android ellipsize multiline textview

、余分な文字が去っていきました。

0

、私はTextViewの宣言内、この方法をminLinesとMAXLINESをしようとするだろう。私は同様の問題を抱えていました。これはAndroid 4を使用している場合にのみ出現しました。私はこの方法で解決しましたが、setTypefaceでフォントを変更しませんでした。