Android: как сделать это без пробелов между 2-мя кнопками в горизонтальном linearlayout
Я только что нашел, что я не могу удалить пробел между двумя кнопками, даже если я установил layout_marginRight
и layout_marginLeft
, как показано ниже. Но это имеет смысл, если я устанавливаю большее пространство, такое как 10 дп.
Любой способ его решить?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:orientation="horizontal" android:padding="0dp"
android:layout_height="wrap_content" android:gravity="fill_horizontal" android:layout_margin="0dp">
<Button android:id="@+id/LocationTitleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="0dp"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:ellipsize="end"
android:gravity="center_vertical"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="Add location"
android:textStyle="bold" />
<Button android:textColor="#FF000000"
android:layout_weight="0"
android:id="@+id/AddLocationButton"
android:text="Search"
android:gravity="center_vertical"
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="0dp" />
</LinearLayout>
Ответы
Ответ 1
Посмотрите ответ Брайана. С моим ответом обе кнопки перекрываются. Ответы Bryans показывают реальный размер кнопок.
Старый ответ:
Просто установите android:layout_marginRight
первой кнопки на "-8dip"
или даже больше. Чем меньше будет пространство между двумя кнопками.
Ответ 2
Попробуйте изменить цвет кнопки, потому что интерфейс по умолчанию, который является родным для android, на самом деле меньше его размера, и он установлен в центре, чтобы он выглядел круто.
Измените его на черный или что-то, и вы увидите реальный размер кнопки.
android:background="#000"
Ответ 3
Вы можете переключиться на RelativeLayout. В этом макете нет интервала.
Ответ 4
Вам нужно будет установить android:layout_marginRight="0dip"
, и вам придется удалить дополнение с помощью android:paddingRight="0dip"
для другой кнопки, которую нужно изменить на значения слева. Я думаю, вы забыли, что каждый элемент Android обычно добавляет к нему по умолчанию. Это, как правило, хорошая идея, но если вы хотите ее удалить, это способ.
Ответ 5
Я думаю, вы можете избавиться от пространства, если вместо этого используете TableLayout. И вы можете установить отрицательные значения для поля, если он все еще добавляет между ними по умолчанию пространство.
Ответ 6
Используйте "layout_marginLeft" и "layout_marginRigh", чтобы заполнить кнопку фона
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="bottom"
android:orientation="horizontal" >
<Button
android:id="@+id/imageButton1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginBottom="-5dp"
android:layout_marginLeft="-3dp"
android:layout_marginRight="-4dp"
android:layout_weight="1"
android:drawableTop="@drawable/create_mail" />
<Button
android:id="@+id/bItem"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginBottom="-5dp"
android:layout_marginLeft="-4dp"
android:layout_marginRight="-4dp"
android:layout_weight="1"
android:drawableTop="@drawable/email_receive3"
android:onClick="OnClick"
android:text="@string/inbox" />
<Button
android:id="@+id/imageButton2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginBottom="-5dp"
android:layout_marginLeft="-4dp"
android:layout_marginRight="-3dp"
android:layout_weight="1"
android:drawableTop="@drawable/email_trash" />
</LinearLayout>