Вопрос

У меня есть следующий XML -файл:

  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout1"
    android:background="@android:color/transparent"
    android:layout_marginTop="0px"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:weightSum="1"
    android:orientation="horizontal">
      <Button android:id="@+id/info"   android:text="Info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom"></Button>
      <Button android:id="@+id/town"   android:text="Town" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom"></Button>
      <Button android:id="@+id/unit"   android:text="Unit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom"></Button>
      <Button android:layout_height="wrap_content" android:text="EndTurn" android:id="@+id/endturn" android:layout_width="wrap_content" android:layout_gravity="bottom"></Button>
  </LinearLayout>

который дает следующий результат: http://i42.tinypic.com/otdkb4.png

Теперь у меня есть несколько вопросов по этому поводу:

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

  2. Есть ли способ получить прозрачный макет? Android: Фон кажется неправильным.

  3. Между третьей и пятой кнопкой есть немного больше места (где должна быть четвертая кнопка). Я поймаю это в программе и устанавливаю на невидимый.

    UnitButton.SetVisibility (невидимый); UnitButton.SetWidth (0);

Теперь пространство между двумя кнопками более чем вдвое от нормального диапазона (от 1 до 2). - В целом, это небольшая проблема

Заранее спасибо.

Это было полезно?

Решение

1: Представлен ли макет в диалоге? Если это так, это даст вам головные боли. Чтобы получить больше управления, вы должны либо создать свое собственное расширение диалога (так как некоторые значения макета диалога жестко кодированы), либо отобразить свой макет по -другому (новое действие сверху или использование Framelayout)?

2: Чтобы получить прозрачный макет, просто не дайте ему фон. (Тем не менее, если вы действительно используете диалоговое окно, диалоговое окно не является прозрачным, и это то, что вы видите. Вы также можете установить его прозрачным, установив фон для «#00000000» (что вы делаете).

3: Вид с видимостью как «невидимый» все еще измеряется, что означает как его ширина/высота, так и его поля, и заполнение отображаются как пустое пространство в вашем макете. Установка видимости для «ухода» вместо этого не будет измерять его, и вам также не понадобится Setwidth (0). (Вы все еще можете отобразить его позже, установив обратно на «видимый»)

РЕДАКТИРОВАТЬ: Удаление неиспользованного атрибута «веса» также может быть хорошей идеей, так как в настоящее время мнение ожидает, что у его детей будет общий вес чего -то другого, чем 0.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top