私はmaxLines = 1の場合、文字/テキストがTextViewでカットされるのはなぜですか?
私は "https://で" とURLを示しているのTextView持って持っているものプレフィックスを:
<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="test2"
android:maxLines="1"
android:ellipsize="marquee"
android:textStyle="bold"
android:textSize="16sp"
android:textColor="@color/primary_text"
android:id="@+id/txvNomEntornIversio" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="https://test2.sdasasdasdfasdfasdffasdfasdfasdf.sdffd"
android:ellipsize="end"
android:maxLines="1"
android:paddingLeft="10dp"
android:textSize="13sp"
android:textStyle="italic"
android:id="@+id/txvUrlEntorn"/>
</LinearLayout>
何が問題なの?
後のコードを実行アンドロイドスタジオプレビューで、デバイスでの結果だった:
私は
を必要とするものを私は接頭辞「https://で」を表示する必要が利用可能なスペースに合わせて、最大文字で。私はread documentation(setEllipsizeブロック)しようとしたが見つかりました。このシンボルと何もいくつかの参照を探し、stackoverflowので検索
を試しWHAT
。 私はまた、効果のないシンボルを描写しようとしました。
なぜそれが発生し、私を助けることができるか知っていますか?前もって感謝します!
UPDATED LAYOUT
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/icon_unchecked"
android:layout_marginRight="10dp"
android:id="@+id/txvIconChecked"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="test2"
android:maxLines="1"
android:ellipsize="marquee"
android:textStyle="bold"
android:textSize="16sp"
android:textColor="@color/primary_text"
android:id="@+id/txvNomEntornIversio" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="https://mydomain.asdfasdasdfasdfasdffasdfasdfasdf.cat"
android:ellipsize="end"
android:maxLines="1"
android:paddingLeft="10dp"
android:textSize="13sp"
android:textStyle="italic"
android:id="@+id/txvUrlEntorn"/>
</LinearLayout>
</LinearLayout>
UPDATE 2
Teikyのおかげで、この問題はAPI 23より低いバージョンでのみ発生することが判明しました。これはバグかもしれませんか?
オプション(旧式)Android:SingleLine = "true"は、すべてのバージョンで正しく動作するようです。代わりに、オプションのアンドロイド新しい:アンドロイドとMAXLINES:現時点でellipsizeはわずか23のために働く...
、最も現実的な選択肢は廃止単一行を無視しているようだ... ME FOR
SOLUTION
最後に、私が前回のアップデートで言ったように、私の解決策は、アンドロイドを使い続けることでした:SingleLine = deprecatedとしてマークされていてもtrueです。
帝京大学秒、彼は4.4.4アンドロイドdipsositiuを試してみましたが、MAXLINES ellipsize ...と私を使用してうまく機能、デバイスロリポップは、私はまだ対応してシンボル/ ...
セットを見つけるために、テキストをカット帝京は問題をさらに調査するのに役立ちました。あなたの助けをありがとう!
あなたの行に余分なものを追加:例えば 'https:///'最初の/は//エスケープ文字です –
ありがとうジョナサン、私はこれを試しました: "https:///"と同じ結果です。 ..また、 "https:\/\ /"を試みましたが効果はありません... – jcasadellaoller