2017-02-02 2 views
-1

右側にtextviewを使用して選択したタイムゾーンを表示し、ユーザーがそれを選択すると、選択に基づいて警告ダイアログが開きます。値を表示しています..今問題はタイムゾーン値です長すぎる場合は、下の画像のように表示されません..私はそれを "..."と交換する必要があります..私は最大長を設定すると、この小さなデバイスのために動作します..しかし、テキスト表示サイズはデバイスの幅に基づいて変更されます。だから私は少しこれを処理する方法が混乱しています。あなたはこの問題を解決するために私を助けてくれますか?テキストビューの最後に3つのドットを表示

<LinearLayout 
    android:layout_width="match_parent" 
    android:minHeight=“60dp” 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:layout_marginBottom=“10dp” 
    android:visibility="visible"> 

    <EditText 
    android:id="@+id/etZipCode" 
    android:padding=“15dp” 
    android:layout_marginBottom=“10dp” 
    android:singleLine=true 
    android:layout_width="match_parent" 
    android:layout_weight="1" 
    android:layout_height="wrap_content" 
    android:maxLength=“8“ 
    android:inputType="text" 
    android:imeOptions="actionNext" /> 

    <TextView 
    android:padding=“15dp” 
    android:layout_marginBottom=“10dp” 
    android:singleLine=true 
    android:layout_width="match_parent" 
    android:minHeight="50dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:drawableRight="@drawable/ic_dropdown_pin" 
    android:layout_marginBottom=“10dp“ 
    android:layout_marginLeft=“5dp”/> 
</LinearLayout> 
+0

このコードは機能しています。他にもいくつか問題があるはずです。 –

答えて

3

maxLinesellipsizeと一緒にdrawablePadding属性を追加します。

は、実際に(...)3点のみのTextViewサイジングの上にテキスト場合に表示され、以下の

<EditText 
     android:id="@+id/etZipCode" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="10dp" 
     android:layout_weight="1" 
     android:imeOptions="actionNext" 
     android:inputType="text" 
     android:maxLength="8" 
     android:text="3445" 
     android:padding="15dp" 
     android:singleLine="true"/> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="10dp" 
     android:layout_marginLeft="5dp" 
     android:layout_weight="1" 
     android:drawableRight="@drawable/ic_dropdown_pin" 
     android:minHeight="50dp" 
     android:padding="15dp" 
     android:text="Alaska Standard Time" 
     android:ellipsize="end" 
     android:maxLines="1" 
     android:drawablePadding="10dp" 
     android:singleLine="true"/> 

</LinearLayout> 

スクリーンショット、

Screenshot

+0

その作業に感謝します... –

0

これを試してみてください:

android:singleLine="true" 
+0

私は彼がすでにそれを持っていると思う! –

1

、これを試してみてください。私はあなたが3つの財産を与える必要があると思うし、それが表示されます。

android:ellipsize="end" 
android:maxLines="1" 

android:maxLines="1" 
android:ellipsize="end" 
android:paddingRight="15dp"//size occupy by your arrow drawable. try with 20dp also 
3

提案の解決策は正しいですが、重要な細部の欠けています。あなたはTextViewに複合図形を右側に適用しています。このシナリオで3つの点を表示させるには、android:drawablePadding="{something}dp"属性をTextViewにも適用する必要があります。

希望すると助かります!

+0

私は同じ問題を一度持ちました、drawablePaddingはトリックでした;) – user2274431

関連する問題