Выравнивание EditText с кнопкой

1

Я пытаюсь горизонтально выровнять EditText с кнопкой без успеха. Оба должны быть одинаковой высоты, а их вершины и днища должны совпадать друг с другом. Вот мой код:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <EditText
        android:id="@+id/quantity"
        android:inputType="number"
        android:layout_height="fill_parent"
        android:layout_width="100dp"
        android:layout_toRightOf="@id/quantity_label"
        android:background="@android:drawable/editbox_background" />
    <Button
        android:onClick="submitButtonTapped"
        android:id="@+id/submit"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_toRightOf="@id/quantity"
        android:drawableLeft="@drawable/submit_icon"
        android:drawablePadding="5dp"
        android:text="@string/submit" />
</LinearLayout>

В результате нижняя часть двух элементов выравнивается. Граница фокусировки EditText проходит ниже кнопки. EditText не распространяется на высоту Button, даже с границей фокуса. Как выровнять их?

  • 0
    Проблема в android: background = "@ android: drawable / editbox_background" - без него работает как положено
  • 0
    Без этой линии проблема обратная: вершины выровнены, а нижняя часть EditText не достигает нижней части кнопки.
Теги:
android-layout

2 ответа

1
Лучший ответ
  1. Установите значение dimen/line_height.
  2. Используйте этот макет
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="@dimen/line_height"
android:orientation="horizontal" >
<EditText
    android:id="@+id/quantity"
    android:inputType="number"
    android:layout_height="fill_parent"
    android:layout_width="100dp"
    android:background="@android:drawable/editbox_background" />

<Button
    android:id="@+id/submit"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:drawableLeft="@drawable/submit_icon"
    android:onClick="submitButtonTapped"
    android:text="@string/submit" />
 </LinearLayout>
  • 0
    Код @ dimension / line_height выдает ошибку: не найден ресурс, который соответствует заданному имени (в 'layout_height' со значением '@ dimension / line_height'). Благодарю.
  • 0
    создать файл res / values / dimensions.xml: '<? xml version = "1.0" encoding = "utf-8"?> <resources> <измерение name = "line_height"> 50dip </ dimension> </ resources>'
Показать ещё 1 комментарий
0

просто добавьте маржу к кнопке

как это

android:layout_marginTop="5dp"

также используйте RelativeLayout вместо LinearLayout, а также используйте

andorid:layout_alignTop = "@id/quantity"

надеюсь, что это сработает..

Ещё вопросы

Сообщество Overcoder
Наверх
Меню