У меня очень странная проблема с кнопками, вертикальное центрирование и видимость ушли. В моем приложении у меня есть список книг, и я использую библиотеку swipelistview для создания кнопок за каждой строкой. У меня есть 3 кнопки: возврат, отправка напоминания и удаление. Видимость кнопок возврата и отправки напоминаний устанавливается динамически, если книга не предоставляется. Теперь вот моя проблема. У меня есть следующий xml-макет для задней части строк.Странное поведение с кнопками и видимость ушла
<LinearLayout
android:id="@+id/swipelist_backview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:tag="swipelist_backview"
android:background="#101010">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="55px"
android:layout_gravity="center_vertical"
android:id="@+id/swipe_button1"
android:text="@string/markAsReturned"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:id="@+id/swipe_button2"
android:layout_gravity="center_vertical"
android:text="@string/sendReminder"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:id="@+id/swipe_button3"
android:layout_gravity="center_vertical"
android:text="@string/delete"/>
</LinearLayout>
Теперь ожидаемый результат от этого является то, что кнопки будут выровнены по вертикали в середине каждого ряда, который не произойдет, если книга lended, и все кнопки видны. Но если книга не заимствована, единственная отображаемая кнопка - это удаление, и она не выровнена.
Я также установка левого края кнопки удаления до 55 пикселей, используя следующий код:
if(!item.isLended())
{
btnReturn.setVisibility(View.GONE);
btnSendReminder.setVisibility(View.GONE);
LayoutParams lp = new LayoutParams(btnDelete.getLayoutParams());
lp.setMargins(55, 0, 0, 0);
btnDelete.setLayoutParams(lp);
}
Я думал, что это может быть удалением Verical выравнивания, но не кажется LayoutParams
есть способ установить layout-gravity
, чтобы он не выглядел.