3

我有一个关于如何在视图上实现所需背景视图的快速问题。我想要的是一个方向箭头,它指向一个方向,作为一个文本视图的背景上的叠加层。

例如(美丽的 MS Paint 技能)

在此处输入图像描述

我已经尝试过使用图层列表,由于屏幕尺寸的变化或内容高度的波动,在这种情况下它不起作用。除了使用 9patch 之外,还有其他可能的方法吗?由于我在平面设计方面完全是文盲,我什至害怕研究 9 个补丁。

4

2 回答 2

3

像这个附件这样的东西会有帮助吗?在油漆中创建,然后使用draw9patch绘制拉伸线。

您可能已经看过9-patch的文档。

使用绘画创建,在 draw9patch 中编辑 - 2 分钟

于 2013-05-30T07:51:09.317 回答
1

实际上这可以在图层列表中工作。就在我的脑海中,你可以做这样的事情:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

   <item android:left="10dp"> <!-- offset from the left -->
       <bitmap android:src="@drawable/arrow_icon"/>
   </item>

   <item android:top="5dp"> <!-- replace with the hight of your arrow -->
       <shape> <solid android:src="#FFFFFF"/> </shape>
   </item>

</layer-list>

将其保存在您的res/drawableas 中with_arrow.xml,然后您可以像这样使用它:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/with_arrow"
    android:paddingTop="5dp"/> <!-- should be AT LEAST the height of your arrow, might want to increase it a bit though -->

例如,如果您将其设置为 textview 的背景,它应该使用内容拉伸它。

另一方面,您应该真正研究 9-patching。真的没那么复杂,看这里:http: //developer.android.com/tools/help/draw9patch.html

于 2013-05-30T06:38:10.187 回答