【发布时间】:2011-06-15 01:50:57
【问题描述】:
我正在尝试在 android 中创建空行。这就是我一直在做的:
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="\n\n"
我想知道有没有更好的方法?谢谢
【问题讨论】:
-
填充?边距?查看整个布局会有所帮助,因为这是个别布局特有的问题。
我正在尝试在 android 中创建空行。这就是我一直在做的:
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="\n\n"
我想知道有没有更好的方法?谢谢
【问题讨论】:
使用Space 或View 添加特定数量的空间。对于 30 个垂直密度像素:
<Space
android:layout_width="1dp"
android:layout_height="30dp"/>
如果您需要灵活的空格填充符,请在 LinearLayout 中的项目之间使用 View:
<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)。
[2014 年 9 月更新为使用 Space。向@Sean 致敬]
【讨论】:
如果您不需要间隙正好是 2 行高,您可以像这样添加一个空视图:
<View
android:layout_width="fill_parent"
android:layout_height="30dp">
</View>
【讨论】:
【讨论】:
更新的答案:从 API 14 开始,您可以使用“空间”视图,as described in the documentation。
Space 是一个轻量级的 View 子类,可用于在通用布局中创建组件之间的间隙。
【讨论】:
<Space android:layout_width="fill_parent" android:layout_height="10dp" />
如果你想在布局之间留出空间。这是使用空间的方式。如果您删除边距,它将不会出现。使用空间内的文本出现不是一个好方法。 希望对您有所帮助。
<Space
android:layout_width="match_content"
android:layout_height="wrap_content"
android:layout_margin="2sp" />
【讨论】:
<View
android:layout_width="fill_parent"
android:layout_height="30dp"
android:background="#80000000">
</View>
【讨论】:
我强烈反对 CaspNZ 的做法。
首先,这个不可见的视图将被测量,因为它是“fill_parent”。 Android 会尝试计算它的正确宽度。相反,这里建议使用较小的常数 (1dp)。
其次,View 应该被一个更简单的类 Space 代替,该类专门用于在 UI 组件之间创建空白空间以获得最快的速度。
【讨论】:
试试这个
在 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>
对我有用
【讨论】:
这可以通过使用 space 或 view 来实现。
Space 是轻量级的,但不太灵活。
视图在屏幕上占据一个矩形区域,负责绘图和事件处理。视图更具可定制性,您可以添加背景,绘制空间等形状。
实施空间:
(例如: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; 用于常规空间。
【讨论】:
只需将weightSum 标记添加到linearlayout 到1,并为其下方的相应视图将layout_weight 设为0.9,它将在视图之间创建一个空间。您可以试验这些值以获得适合您的值。
【讨论】:
同意所有答案......还有,
<TextView android:text=""
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_weight="2" />
应该工作 :) 我只是在和其他人打交道,因为 TextView 是我最喜欢的(虽然浪费内存!)
【讨论】:
以前的答案在我的情况下不起作用。但是,在菜单中创建一个空项会。
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
...
<item />
...
</menu>
【讨论】:
有更好的方法来做到这一点 只需使用下面的代码并根据您想要的空白区域的大小进行更改
<Space
android:layout_width="wrap_content"
android:layout_height="32dp"
android:layout_column="0"
android:layout_row="10" />
如果您使用网格布局,则仅使用
android:layout_row="10" />
【讨论】:
以下是创建具有行大小的空白行的简单方法。 在这里我们可以调整空白行的大小。 试试这个。
<TextView
android:id="@id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="5dp"/>
【讨论】: