Android Text Input Специальный элемент пользовательского интерфейса - PullRequest
0 голосов
/ 23 марта 2011

Я создаю клиент-серверное приложение IM для ОС Android и в настоящее время собираю пользовательский интерфейс. Прямо сейчас мой интерфейс состоит из элемента EditText и элемента Button. Когда я нажимаю на элемент EditText, появляется клавиатура, позволяющая вам печатать.

Мне хотелось бы иметь что-то вроде области ввода текста и кнопки отправки в стандартном приложении Android для SMS. Что-то вроде этого: enter image description here Поле ввода текста и кнопка «Отправить» остаются в нижней части экрана, а при нажатии на них клавиатура нажимает на текстовое поле и кнопку над ним.

Возможно ли это, используя только элементы EditText и Button?

Спасибо за любые предложения или советы!

Ответы [ 2 ]

3 голосов
/ 23 марта 2011

Попробуйте установить android:windowSoftInputMode=adjustResize для действия в AndroidManifest.xml .

Вы можете найти подробности здесь .

1 голос
/ 23 марта 2011

Возможно ли это, используя только элементы EditText и Button?

Ответ. Этот тип функциональности возможен при любом виде просмотра

Я даю краткий учебник по вашему вопросу. Как правило, мы используем только linearlayout в xml-файле. Но на уровне просмотра android предоставляет гораздо больше возможностей, таких как Относительный макет и многое другое. На этот раз мы просто обсудим относительный макет, потому что он может решить вашу задачу.

В Относительном макете он не использует функцию android: ориентация , например, линейный макет, он использует еще одну функцию. В относительном макете учитывайте некоторые моменты ...

  1. мы всегда даем id каждому представлению, используя android: id = "@ + id / GiveName"
  2. для выравнивания любого вида, который мы использовали для Android: layout_toLeftOf = "@ id / givename" то же самое для
    справа, сверху и снизу, где дает имя = идентификатор того представления, из которого выровнено это представление .

    Ex. дает пример с снимком экрана

    После этого я даю образец XML-файла, в котором вы получаете вышеуказанный тип функции в своем вопросе

  <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/llWriteCommentWall" android:layout_height="fill_parent"
      android:layout_width="fill_parent" android:background="#ffffff">
      <Button android:id="@+id/btButtonComments"
        android:layout_height="wrap_content"     
        android:layout_width="wrap_content"        
        android:text="Comments" 
        android:layout_alignParentRight="true"  
        android:layout_alignParentBottom="true"/>
      <EditText android:id="@+id/etEdittext"
        android:layout_height="wrap_content" android:layout_width="fill_parent"
        android:hint="Write a comment....   "
        android:layout_marginLeft="2dip" android:layout_marginRight="2dip" 
        android:layout_toLeftOf="@id/btButtonComments" 
        android:layout_alignParentBottom="true"/>
    </RelativeLayout>

Снимок экрана приведенного выше примера

At Simple Mode At Click on Edittext

В этом примере мы использовали android: layout_alignParentBottom = "true" - этот атрибут является основной причиной для представления, подобного этому, он всегда выравнивает любое представление в нижней части, даже если отображается программная клавиша. Оно содержит логическое значение, true дает всегда выравнивать дно и false ничего.

другим относительным атрибутом является android: layout_alignParentRight = "true", android: layout_alignParentLeft = "true", android: layout_alignParentTop = "true" -все атрибуты дают функцию, как написано.

Наконец, вы включаете этот xml-файл в любой java-файл через setContentView (xmlFileName)

...