Усеченная строка в андроид спиннерах - PullRequest
0 голосов
/ 22 марта 2010

На iPhone, если опция слишком длинная для области, вместо переноса вы получите «...» в конце « выпадающего списка », и пользователь будет знать, что есть больше текста, чем показано.

Я хочу воссоздать это с помощью Android, но я новичок в этом, поэтому не могу понять, как.

Я хочу, чтобы высота " строк " в моем макете была одинаковой, поэтому я не могу обернуть текст.

Заранее спасибо.

Ответы [ 4 ]

4 голосов
/ 22 марта 2010

Используйте для этого собственное представление и укажите, позвонив:

adapter.setDropDownViewResource(R.id.my_simple_spinner_dropdown_item);

Обратите внимание, что вы должны использовать свой собственный вид здесь: my_simple_spinner_dropdown_item.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1"
    style="?android:attr/spinnerItemStyle"
    android:singleLine="true"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:ellipsize="end" />
1 голос
/ 22 марта 2010

В макете, который вы используете для строк Spinner, для TextView, содержащего возможно слишком длинный текст, используйте android:ellipsize="end".

0 голосов
/ 22 марта 2010

В макете, который вы используете для строк Spinner, для TextView, содержащего, возможно, слишком длинный текст, используйте android: ellipsize = "end".

Я думаю, что вы должны использовать атрибут singleLine

Вы на самом деле оба правы, вам нужно установить размер эллипса и однострочный атрибут.

0 голосов
/ 22 марта 2010

Я думаю, что вы должны использовать атрибут singleLine , однако я не знаю, возможно ли это с tableLayout или даже желательно ... попробуйте его в одном текстовом окне, чтобы увидеть эффект, а затем в своем TL ...

...