web-dev-qa-db-ja.com

Android TextView SingleLineフィールドは長いテキストを非表示にします

画面の左側にあるTextViewがあり、gravity = "right"で設定され、SingleLine = "true"で設定されています。

万が一このビューのテキストが長くなりすぎた場合は、ビューの左側からテキストを単純に削除する必要があります。以下の設定でそれができると思いましたが、実際に起こるのは、おそらく長い文字列が完全に消え、おそらくどこかでビューの外にあることです。

1行のテキストを含むシンプルなテキストビューを作成して、予期しないことが発生した場合でもレイアウトを維持するにはどうすればよいですか? ...または予測可能なものです。

<TextView
    Android:id="@+id/tempF"
    Android:text="@string/tempF"
    Android:layout_width="146dp"
    Android:layout_height="wrap_content"
    Android:textColor="#cccccc"
    Android:textStyle="bold"
    Android:textSize="92dp"
    Android:fontFamily="serif"
    Android:gravity="right"
    Android:layout_marginTop="60dp"
    Android:layout_gravity="top|left"
    Android:singleLine="true"
    />
17
NFG

これが「省略」の目的です-追加のテキストを示すためにテキストの一部を切り捨てます。

あなたの場合、あなたは次のようなものを追加する必要があるかもしれません:

Android:ellipsize="end"

またはさらに深くする必要があるかもしれません:

Javaで文字列を自動的に省略

またはこれを見てください:

Androidは複数行のテキストビューを省略します

クラスを拡張する背後にある考え方は、テキストコンテンツが提供されたスペースを超えたときのTextViewの動作をカスタマイズできるということです。たとえば、パディングなどを削除することで、「ブリードオーバー」の外観を与えることができます。 :

これは本当に長いです...

(3つのピリオドは省略記号です-テキストは逆方向になりますが、それでも機能するはずです)

カスタムTextViewを使用すると、「...」を何もまたは他の任意のものに変更できます(私が行った画像も)。

テキストをマーキーにすることもできます。

TextViewマーキーが機能しない

34
Jim

Xmlに2つのプロパティを追加します

Android:singleLine="true"

Android:ellipsize="end"
8

以下のTextView.Checkのellipsize属性で遊ぶ必要があります。

<TextView
    Android:id="@+id/tempF"
    Android:text="@string/tempF"
    Android:layout_width="146dp"
    Android:layout_height="wrap_content"
    Android:textColor="#cccccc"
    Android:textStyle="bold"
    Android:textSize="92dp"
    Android:fontFamily="serif"
    Android:gravity="right"
    Android:layout_marginTop="60dp"
    Android:layout_gravity="top|left"
    Android:singleLine="true"
    Android:ellipsize="end"
    />
7
rupesh jain
           <TextView
            Android:id="@+id/tv_desc"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:textColor="@color/colorGray"
            Android:textSize="@dimen/_18dp"
            Android:padding="@dimen/_2dp"
            Android:singleLine="true"
            Android:ellipsize="end"
            Android:text="@string/desc"/>
0
Sunil
<View
    Android:layout_width="match_parent"
    Android:layout_height="1dp"
    Android:background="#000000" />

できます。

0
Hanisha