当前位置: 首页 > 知识库问答 >
问题:

Android:如何在布局中放置纯色矩形?

程谭三
2023-03-14

我有一个相对膨胀良好的。我想在顶部添加一个横跨版面宽度的纯色矩形。我尝试将以下内容放入我的xml中:

<view android:id="@+id/top_alert"
    android:layout_width="match_parent"
    android:layout_height="2dp"
    android:layout_above="@+id/orders_gridview"
    android:layout_alignParentTop="true"
    android:background="@color/table_request_assistance"
    android:visibility="visible"/>

现在,当我尝试膨胀我的Layout我得到一个NullPointerException在LayoutInflater.createViewFromTag(第715行):

if (name.equals(TAG_1995)) {

name在此之前设置:

if (name.equals("view")) {
    name = attrs.getAttributeValue(null, "class");
}

显然没有"class"属性。我该如何添加那个?我找不到任何接近http://schemas.android.com/apk/res/android.我应该添加它吗?这是做这件事的标准方法吗?似乎它应该是世界上最简单的事情。

共有2个答案

曾绯辞
2023-03-14

类区分大小写-在这种情况下,您使用的是View类,因此它需要在您的XML中完全View

富凯风
2023-03-14

对于noobs,这里有一些更通用的标记。这将打印一个10像素高的灰色矩形,覆盖其顶部父视图的顶部。

<View android:id="@+id/rectangle_at_the_top"
    android:layout_width="match_parent"
    android:layout_height="10dp"
    android:layout_alignParentTop="true"
    android:background="#DDDDDD"
    android:visibility="visible"/>

这是矩形的id:

android:id="@+id/rectangle_at_the_top"

这意味着让视图与父视图一样宽:

android:layout_width="match_parent"

请注意,您有时会看到"fill_parent"。这已被弃用,以支持"match_parent"

这意味着要使高度10“与灵敏度无关的像素变高:

android:layout_height="10dp"

你问什么是“密度无关像素”?我不是100%确定,但这些人知道:Android中的px、dp、dip和sp之间有什么区别?

这表示将矩形与父视图的顶部对齐:

android:layout_alignParentTop="true"

更准确地说,它使View的顶部边缘与父级的顶部边缘相同。想在底部放些东西吗?是的,你猜对了:使用layout_alignParentTop

这表示将背景颜色设置为灰色:

android:background="#DDDDDD"

DDDD是一个颜色值。你可以在这里找到其他颜色值的例子,以及谷歌建议如何使用它们:谷歌的Android颜色指南

最后,这表示要使此View可见:

android:visibility="visible"

这主要是多余的,因为它们在默认情况下是可见的。其他选项包括“不可见”和“消失”,它们听起来相似,但有很大的不同。有关更多信息,请参阅此讨论:“不可见”和“消失”有什么区别?

 类似资料:
  • 矩形树图最先由Ben Shneiderman在1991年提出; 矩形树图会递归的对一块矩形区域进行切分, 以达到层级展示的效果. 正如分区布局中, 每个节点的大小都是显而易见的. 正方化的矩形树图使用近正方的矩形, 因此, 相比于传统的切块或切片图, 具有更好的可读性和节点大小易读性. 还有其他一些关于矩形树图的算法, 比如: Voronoi 和 jigsaw, 但是并不常用. 和其他 D3 类一

  • 请看附件中的图片。我正在使用支持工具栏,并将其设置为支持actionbar。但工具栏内部的Textview并没有全宽(如布局边界所示)。因此,我无法将其水平居中。请帮忙。 app_barXML: 片段: 在play store中,我看到了居中的视图:

  • 我试图设置文本背景颜色使用 是红色、绿色、蓝色值来自数据库,基于值set编程时,它的颜色为暗绿色,但我运行程序时它将显示红色

  • 我试图在另一个活动的顶部显示一个半透明背景的活动,并在屏幕中央显示一个drawable。drawable有圆角,我设置了一个圆角矩形作为布局的背景。这个形状的背景是可绘制的。问题是我仍然在圆角的drawable后面得到一个黑色的方形边框。有没有办法去掉那个黑边? 我想我不能发布图片,因为我没有声誉? 这是布局的xml: 以下是形状的xml:

  • 问题内容: 我想在我的 底栏布局的中间添加Facebook Messenger,例如超大按钮,但困惑如何添加。 我正在使用ahbottomnavigation库来制作我的底栏。 问题答案: 我只是试图使其简单而不是专业类型。看这里: BottomSheetLayout文件- : ActivityLayout - Output: 根据您的想法改变价值和设计。 示例仅是一个演示,并不包含OP要求的确切

  • 我想将图标设置为,我从这个网站下载了图标:FlatIcon 现在我想设置此图标的颜色,但当使用时,只需为背景添加颜色,而不是设置为图标! 当使用时,我可以用此代码设置图标的颜色:。 如何将图标的颜色设置为,例如?谢谢大家