Android: просмотр текста с автозаполнением

Я разрабатываю приложение для Android, которое использует автозаполнение Google Places.

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

Я не хочу, чтобы это произошло, я хочу, чтобы текстовое представление оставалось того же размера, не имеет значения, если вся строка не видна. Как я могу это сделать??

Еще вопрос по автозаполнению текста. Мне нужна кнопка рядом с текстовым представлением, чтобы пользователь мог выполнить поиск. Представление списка для предложений имеет такую ​​же ширину, как и текстовое представление автозаполнения, оно не заполняет всю ширину экрана, потому что справа от текстового представления есть кнопка. Могу ли я сделать так, чтобы список предложений заполнял всю ширину экрана?


person pixie    schedule 09.10.2012    source источник


Ответы (3)


  1. Я использую android:singleLine как ссылку на singleLine.
  2. Если вы хотите внести предложение listview, вы можете использовать этот атрибут android:dropDownWidth="xx dp", обратитесь сюда android:dropDownWidth . Вы должны рассчитать размер экрана во время выполнения, чтобы получить правильное значение.

Другой атрибут может помочь вам выровнять раскрывающийся список android:dropDownHorizontalOffset здесь

person Trung Nguyen    schedule 09.10.2012
comment
большое спасибо!! Атрибут android:dropDownWidth работает отлично. Я установил значение match_parent, и раскрывающийся список заполняет всю ширину экрана. - person pixie; 09.10.2012

Попробуйте maxWidth

android:maxWidth

Makes the TextView be at most this many pixels wide.

Must be a dimension value, which is a floating point number appended with a unit such
as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp 
(scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or
theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol maxWidth.

Related Methods

setMaxWidth(int)

РЕДАКТИРОВАТЬ - вы можете использовать android:imeOptions с actionGo для добавить кнопку «Перейти» на всплывающую клавиатуру.

person Bill Gary    schedule 09.10.2012

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

Вы можете использовать android:singleLine для ссылки на singleLine.

Могу ли я сделать так, чтобы список предложений заполнял всю ширину экрана?

Не думайте, что вы можете использовать AutoCompleteTextView. Вы можете воспользоваться предложением User : Bill Gary, добавив android:imeOptions="actionGo", вы можете получить кнопку Go на программной клавиатуре. А затем в своей деятельности добавьте OnEditorActionListener в свой AutoCompleteTextView :

    actv.setOnEditorActionListener(new OnEditorActionListener() {

        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            // TODO Auto-generated method stub
            if (actionId == EditorInfo.IME_ACTION_GO) {
                Toast.makeText(MainActivity.this, "GO", Toast.LENGTH_SHORT).show();
                return true;
            }
            return false;
        }
    });
person Aprian    schedule 09.10.2012