背景与方向箭头

时间:2013-05-30 06:02:54

标签: android background android-view layer-list

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

例如(美丽的MS Paint技能)

enter image description here

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

2 个答案:

答案 0 :(得分:3)

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

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

Created with paint, edited in draw9patch - 2 mins

答案 1 :(得分: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/drawable 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补丁。它真的不那么复杂 见这里:http://developer.android.com/tools/help/draw9patch.html