Adding blank spaces to layout

AndroidXml

Android Problem Overview


I am trying to make empty lines within android. This is what I have been doing:

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

I want to know if there is a better way? Thanks

Android Solutions


Solution 1 - Android

Use Space or View to add a specific amount of space. For 30 vertical density pixels:

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

If you need a flexible space-filler, use View between items in a LinearLayout:

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

or

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

This works for most layouts for API 14 & later, except widgets (use FrameLayout instead).

[Updated 9/2014 to use Space. Hat tip to @Sean]

Solution 2 - Android

If you don't need the gap to be exactly 2 lines high, you can add an empty view like this:

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

Solution 3 - Android

View if you need change background color , Space if not .

that dosent mean you have to change view background .

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

or Space

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

Solution 4 - Android

An updated Answer: Since API 14, you can use "Space" View, as described in the documentation.

> Space is a lightweight View subclass that may be used to create gaps between components in general purpose layouts.

Solution 5 - Android

if you want to give the space between layout .this is the way to use space. if you remove margin it will not appear.use of text inside space to appear is not a good approach. hope that helps.

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

Solution 6 - Android

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

Solution 7 - Android

I strongly disagree with CaspNZ's approach.

First of all, this invisible view will be measured because it is "fill_parent". Android will try to calculate the right width of it. Instead, a small constant number (1dp) is recommended here.

Secondly, View should be replaced by a simpler class Space, a class dedicated to create empty spaces between UI component for fastest speed.

Solution 8 - Android

try this

in 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" />

in strings.xml :

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

it worked for me

Solution 9 - Android

This can by be achieved by using space or view.

Space is lightweight but not much flexible.

View occupies a rectangular area on the screen and is responsible for drawing and event handling. View is more customizable, you can add background, draw shapes like space.

Implementing Space :

(Eg: Space For 20 vertical and 10 horizontal density pixels)

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

Implementing View :

(Eg: View For 20 vertical and 10 horizontal density pixels including a background color)

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

Space for string formatting using HTML entity:

&#160; for non-breakable whitespace. &#032; for regular space.

Solution 10 - Android

Just add weightSum tag to linearlayout to 1 and for the corresponding view beneath it give layout_weight as .9 it will create a space between the views. You can experiment with the values to get appropriate value for you.

Solution 11 - Android

Agree with all the answers......also,

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

should work :) I am just messing with others as TextView is my favourite (waste of memory though!)

Solution 12 - Android

The previous answers didn't work in my case. However, creating an empty item in the menu does.

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

Solution 13 - Android

there is a better way to do this just use the code below and change according to what you want the size of the blank area

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

if you are using with the grid layoout then only use

 android:layout_row="10" />

Solution 14 - Android

Below is the simple way to create blank line with line size. Here we can adjust size of the blank line. Try this one.

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionQwertyfshagView Question on Stackoverflow
Solution 1 - AndroidradleyView Answer on Stackoverflow
Solution 2 - AndroidCaspar HarmerView Answer on Stackoverflow
Solution 3 - AndroidMina FawzyView Answer on Stackoverflow
Solution 4 - AndroidSeanView Answer on Stackoverflow
Solution 5 - AndroidHemant ShoriView Answer on Stackoverflow
Solution 6 - Androidselva_pollachiView Answer on Stackoverflow
Solution 7 - AndroidIan WongView Answer on Stackoverflow
Solution 8 - AndroidRana OsamaView Answer on Stackoverflow
Solution 9 - AndroidPreetish Priyadarshi SamalView Answer on Stackoverflow
Solution 10 - AndroidHari LeeView Answer on Stackoverflow
Solution 11 - Androidha9u63arView Answer on Stackoverflow
Solution 12 - AndroidAlexLView Answer on Stackoverflow
Solution 13 - AndroidAshad NasimView Answer on Stackoverflow
Solution 14 - AndroidSunilView Answer on Stackoverflow