Добавление пробелов в макет

Я пытаюсь сделать пустые строки внутри android. Это то, что я делал:

android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="\n\n"

Я хочу знать, есть ли лучший способ? Благодаря

Ответ 1

Используйте Space или View, чтобы добавить определенное количество места. Для 30 пикселей вертикальной плотности:

<Space
  android:layout_width="1dp"
  android:layout_height="30dp"/>

Если вам нужен гибкий пространственный наполнитель, используйте View между элементами в LinearLayout:

<View
  android:layout_width="1dp"
  android:layout_height="match_parent"
  android:layout_weight="1"/>

или

<View
  android:layout_width="1dp"
  android:layout_height="0dp"
  android:layout_weight="1"/>

Это работает для большинства макетов для API 14 и более поздних версий, кроме виджетов (вместо этого используйте FrameLayout).

[Обновлено 9/2014, чтобы использовать Space. Кончик шляпы @Sean]

Ответ 2

Если вам не нужно, чтобы промежуток был ровно на 2 строки высотой, вы можете добавить пустой вид следующим образом:

    <View
        android:layout_width="fill_parent"
        android:layout_height="30dp">
    </View>

Ответ 3

Обновленный ответ: Начиная с API 14, вы можете использовать "Space" View, как описано в документации.

Прост - это легкий подкласс View, который может использоваться для создания разрывов между компонентами в макетах общего назначения.

Ответ 4

Просмотр, если вам нужно изменить цвет фона, пробел, если нет.

это означает, что вы должны изменить фон просмотра.

<View
    android:layout_width="match_parent"
    android:layout_height="20dp"
    android:background="@color/YOUR_BACKGROUND">
</View>

или пространство

<Space
        android:layout_width="match_parent"
        android:layout_height="20dp"
         />

Ответ 5

если вы хотите предоставить пространство между макетом. Это способ использования пространства. если вы удалите край, он не появится. Использование текста внутри пространства для отображения не является хорошим подходом. надеюсь, что это поможет.

<Space
        android:layout_width="match_content"
        android:layout_height="wrap_content"
        android:layout_margin="2sp" />

Ответ 6

<View
    android:layout_width="fill_parent"
    android:layout_height="30dp"
    android:background="#80000000">
</View>

Ответ 7

попробуйте это

в layout.xml:

<TextView
        android:id="@+id/xxx"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/empty_spaces" />

в strings.xml:

<string name="empty_spaces">\t\t</string>

это сработало для меня

Ответ 8

Я категорически не согласен с подходом CaspNZ.

Прежде всего, это невидимое представление будет измерено, потому что оно "fill_parent". Android попытается рассчитать правильную ширину. Вместо этого здесь рекомендуется небольшое постоянное число (1dp).

Во-вторых, View следует заменить более простым классом Space, классом, предназначенным для создания пустых пространств между компонентом пользовательского интерфейса для максимальной скорости.

Ответ 9

Это может быть достигнуто с помощью пространства или вида.

Пространство легкое, но не очень гибкое.

Вид занимает прямоугольную область на экране и отвечает за рисование и обработку событий. Вид более настраиваемый, вы можете добавить фон, рисовать фигуры, как пространство.

Реализация пространства:

(Например: пространство для 20 пикселей по вертикали и 10 пикселей по горизонтали)

<Space
  android:layout_width="10dp"
  android:layout_height="20dp"/>

Реализация просмотра:

(Например: просмотр для 20 пикселей по вертикали и 10 пикселей по горизонтали, включая цвет фона)

  <View
       android:layout_width="10dp"
       android:layout_height="20dp"
       android:background="@color/bg_color"/>

Пространство для форматирования строки с использованием сущности HTML:

&#160; для неразрывных пробелов. &#032; для обычного пространства.

Ответ 10

Согласиться со всеми ответами...... также,

    <TextView android:text=""
              android:layout_width="match_parent"
              android:layout_height="30dp"
              android:layout_weight="2" />

должен работать:) Я просто возился с другими, поскольку TextView - мой любимый (трата памяти, хотя!)

Ответ 11

Предыдущие ответы не были выполнены в моем случае. Однако создание пустого элемента в меню делает.

<menu xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android">
  ...
  <item />
  ...
</menu>

Ответ 12

есть лучший способ сделать это, просто используйте приведенный ниже код и измените в соответствии с тем, что вы хотите, чтобы размер пустой области

     <Space
            android:layout_width="wrap_content"
            android:layout_height="32dp"
            android:layout_column="0"
            android:layout_row="10" />

если вы используете с сеткой, то используйте только

 android:layout_row="10" />

Ответ 13

Ниже приведен простой способ создания пустой строки с размером строки. Здесь мы можем настроить размер пустой строки. Попробуй это.

           <TextView
            android:id="@id/textView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="5dp"/>

Ответ 14

просто добавьте тег weightSum к linearlayout в 1 и для соответствующего представления под ним укажите layout_weight как .9, чтобы создать пространство между представлениями. Вы можете экспериментировать со значениями, чтобы получить подходящее значение для вас