21

TextViewよりも長いテキストの最後に、1行でTextViewの3つのドットが表示されます。なぜか分からないけど、私はそれを手に入れません。TextViewエリプサイズ(...)が機能しない

私はすでに同様のStackOverflowの質問の周りに私の頭を包んだが、私は解決策に終わった。多分誰かが役に立つヒントを持っているかもしれません。上記

<LinearLayout 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:orientation="vertical"> 

    <TextView 
     android:textStyle="bold" 
     android:text="Full Name" 
     android:layout_height="wrap_content" 
     android:textSize="16sp" 
     android:layout_width="wrap_content" 
     android:id="@+id/lName" 
     android:layout_gravity="center_vertical" 
     android:maxLines="1" 
     android:ellipsize="end"/> 
</LinearLayout> 
LinearLayout

2他LinearLayoutsにネストされています。たぶんこれは知ることが重要です。私はすでに属性 "singleLine"も試しましたが、これは非推奨であり、とにかく動作しません。

答えて

38

(通常styles.xml)ファイル、あなたのスタイルで次のスタイルを追加します。

<style name="autoscroll"> 
    <item name="android:singleLine">true</item> 
    <item name="android:ellipsize">marquee</item> 
    <item name="android:marqueeRepeatLimit">marquee_forever</item> 
    <item name="android:focusable">true</item> 
    <item name="android:focusableInTouchMode">true</item> 
    <item name="android:scrollHorizontally">true</item> 
</style> 

次に、あなたのTextViewにスタイル@style/autoscrollを追加します。

<TextView android:id="@+id/lName" 
     style="@style/autoscroll" /> 

したいときは、簡単に自動スクロール機能を再利用することができますこちらです。

+2

ただし、TextViewsのスタイル値はありません! –

+2

代わりにandroid:style = "@ style/autoscroll"を使用してstyle = "@ style/autoscroll"を – Deshan

+0

私はプログラムとして使用する方法 – Riskhan

15

はTextViewのためのあなたのxmlでこれを追加します。

 android:singleLine="true" 

として

 android:maxWidth="200dp" 
     android:maxLines="1" 

は推奨されません。

+0

** maxWidth **の使用は*拡張可能なソリューションではありません。** singleLine **は廃止予定です。代わりに、** ellipsize **&** scrollHorizo​​ntally **を使用してください。 – Flawyte

+12

私は誤解があったと思います。私はAndroid Devで 'TextView'をチェックし、' singleLine'は非推奨ではありません。 – Sufian

7
android:id="@+id/lName" android:layout_width="150dp" 
    android:layout_height="wrap_content" 
    android:ellipsize="end" 
    android:singleLine="true" 
    android:text="Avinljhakjhsajkhakjshda" 
    android:textSize="16sp" 
+0

これは既にtextviewプロパティのために働いています すべてベスト: – LuminiousAndroid

+7

'ellipsize'は推奨されません。参考にしたウェブサイトはどれですか、私はAndroidデベロッパーをチェックしました。 – Sufian

+0

これは間違いです、私は** singleLine ** not ** ellipsize **について話していました。それを修正するためにありがとう。 – Flawyte

0

それは代わりにellipsizescrollHorizontally="true"を使用し、singleLine="true"で動作しますが、この属性は廃止されます。

+2

あなたはそれを数回投稿しました、 'ellipsize'や' singleLine'は非難されました。それがそうであるところでドキュメントを親切に共有してください。私が以前に言ったように、私はAndroidのdevをチェックしました。 – Sufian

+0

私の記事**で述べたように、singleLine **は今のところ廃止予定です。** ellipsize **を 'scrollHorizo​​ntally = true'と組み合わせて使用​​してください。これらの2つも推奨されていません。 – Flawyte

+0

さて、ここでは非難されていません。(http:// developer。android.com/reference/android/widget/TextView.html#setSingleLine(boolean))。 – Sufian

関連する問題