我想在android中制作空行。这就是我一直在做的事情:
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="\n\n"
我想知道是否有更好的方法?感谢
答案 0 :(得分:148)
使用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和API的大多数布局。之后,除了小部件(改为使用FrameLayout
)。
[2014年9月更新以使用Space。帽子提示@Sean]
答案 1 :(得分:26)
如果您不需要间隙恰好为2行高,则可以添加如下的空视图:
<View
android:layout_width="fill_parent"
android:layout_height="30dp">
</View>
答案 2 :(得分:13)
更新后的答案:自API 14起,您可以使用&#34; Space&#34;查看as described in the documentation。
Space是一个轻量级的View子类,可用于在通用布局中创建组件之间的间隙。
答案 3 :(得分:8)
View 如果您需要更改背景颜色, Space ,如果没有。
该剂量意味着您必须更改视图背景。
<Space
android:layout_width="match_parent"
android:layout_height="20dp"
/>
或空间
<h:panelGroup id="panel">
<h:form>
<h:commandButton value="Submit" rendered="#{not testAction.flag}">
<f:ajax render=":panel" listener="#{testAction.submit()}"/>
</h:commandButton>
</h:form>
<h:panelGroup id="panel">
<h:form id="secondForm" rendered="#{testAction.flag}">
<h:selectBooleanCheckbox id="checkBox" value="#{testAction.boolVal}">
<f:validator validatorId="checkboxValidator"/>
</h:selectBooleanCheckbox>
<h:commandButton value="Go" action="#{testAction.go()}"/>
</h:form>
</h:panelGroup>
答案 4 :(得分:4)
如果你想在布局之间给出空间。这是使用空间的方式。如果你删除边距它将不会出现。在空间内使用文本出现不是一个好方法。 希望有所帮助。
<Space
android:layout_width="match_content"
android:layout_height="wrap_content"
android:layout_margin="2sp" />
答案 5 :(得分:3)
<View
android:layout_width="fill_parent"
android:layout_height="30dp"
android:background="#80000000">
</View>
答案 6 :(得分:2)
试试这个
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>
它对我有用
答案 7 :(得分:2)
我强烈不同意CaspNZ的做法。
首先,将测量这个不可见的视图,因为它是“fill_parent”。 Android会尝试计算它的正确宽度。相反,这里建议使用一个小的常数(1dp)。
其次,View应该被一个更简单的类Space替换,这是一个专门用于在UI组件之间创建空白空间的类,以获得最快的速度。
答案 8 :(得分:1)
这可以通过空格或视图来实现。
空间是轻量级但不太灵活。
查看占据屏幕上的矩形区域,负责绘图和事件处理。视图更加可自定义,您可以添加背景,绘制空间等形状。
实施空间:
(例如: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实体进行字符串格式化的空间:
 
表示不可破解的空格。
 
为常规空间。
答案 9 :(得分:0)
同意所有答案......也是,
<TextView android:text=""
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_weight="2" />
应该工作:)我只是搞乱别人,因为TextView是我最喜欢的(虽然浪费了内存!)
答案 10 :(得分:0)
以前的答案在我的案例中不起作用。但是,在菜单中创建一个空项目。
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
...
<item />
...
</menu>
答案 11 :(得分:0)
有一种更好的方法可以做到这一点 只需使用下面的代码,并根据您想要的空白区域大小进行更改
<Space
android:layout_width="wrap_content"
android:layout_height="32dp"
android:layout_column="0"
android:layout_row="10" />
如果您使用网格布局,则仅使用
android:layout_row="10" />
答案 12 :(得分:0)
以下是使用线条大小创建空白行的简单方法。 在这里我们可以调整空白行的大小。 试试这个。
<TextView
android:id="@id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="5dp"/>
答案 13 :(得分:0)
只需将weightSum标签添加到linearlayout到1,并为它下面的相应视图赋予layout_weight为.9,它将在视图之间创建一个空间。您可以尝试这些值以获得适合您的值