5

我想实现这个图像 在此处输入图像描述

区域 textbox1 和 textbox2 Ninepatch 可以

在此处输入图像描述

我怎么能九补丁到底这个?

4

2 回答 2

3

android 9-patch 有一个限制:由右下边框定义的内容区域必须是连续的(即您只能在右下边框上有一个段)。

另一方面,您可以在顶部和左侧边框上定义多个可拉伸区域。

在你的情况下:

对于可拉伸区域:

  • 在左边框上画一段

  • 在顶部边框上绘制两个段(长度相同)(围绕垂直分隔线对称,但不包括垂直分隔线)。

对于内容区域:

  • 在底部边框上绘制一段
  • 在右边框上绘制一段

对于内容:

  • 定义一个水平线性布局,其中包含 2 个 TextView(宽度 = 0dp,重量 = 1.0)
  • 使用您的九个补丁图像作为背景

希望这有帮助。

-------------------------------------------------- --------------------------

结果 :

我使用你的计划,但结果是这样的 在此处输入图像描述

当我的文本增加文本框高度不增加

怎么解决呢?

-------------------------------------------------- --------------------------

我认为它与 9-patch 图像无关。它更有可能与 textView 有关。

尝试:在 textView

android:layout_height="WRAP_CONTENT"

在线性布局上

android:layout_height="WRAP_CONTENT"
于 2013-01-13T08:57:47.067 回答
2

LinearLayout允许您在其子项之间指定分隔符。所以你需要:

  1. 把你TextView的 s 放在一个水平的里面LinearLayout
  2. 将没有分隔线的圆角矩形 9-patch 分配为背景LinearLayout
  3. 将分隔线添加到您的LinearLayoutandroid:divider="drawable_resource"
    android:showDividers="middle"

TextView这种布局也更加灵活——如果你想要 3 个或更多的 s ,你不需要再做一个 9-patch

于 2013-01-13T09:53:45.040 回答