3

我想得到类似于你在下面看到的形状。我缺少的是标题颜色(匿名文本后面的颜色)。我通过简单地将鼠标移到现在突出显示的第二个文本视图上来复制我想要的内容并产生这种效果:)

当前代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
 android:shape="rectangle">
 <stroke android:width="2dp" android:color="#000000" />
 <gradient android:startColor="#898989" android:endColor="#B5B5B5" android:angle="270"/> 

 <corners android:bottomRightRadius="7dp" android:bottomLeftRadius="7dp"
 android:topLeftRadius="7dp" android:topRightRadius="7dp"/>
</shape> 

在此处输入图像描述

4

3 回答 3

2

您需要使用包含两个可绘制对象 的图层列表。

例如,第一个将覆盖整个形状,第二个将覆盖它但android:top="10dp"设置,以创建显示底层第一个形状的偏移量

编辑:
像这样:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape android:shape="rectangle" >
            <stroke
                android:width="2dp"
                android:color="#000000" />

            <solid android:color="#00ff00" />

            <corners
                android:bottomLeftRadius="7dp"
                android:bottomRightRadius="7dp" />
        </shape>
    </item>
    <item
        android:bottom="2dp"
        android:left="2dp"
        android:right="2dp"
        android:top="20dp">
        <shape android:shape="rectangle" >
            <gradient
                android:angle="270"
                android:endColor="#B5B5B5"
                android:startColor="#898989" />

            <corners
                android:bottomLeftRadius="7dp"
                android:bottomRightRadius="7dp" />
        </shape>
    </item>
</layer-list>
于 2012-06-04T13:34:30.550 回答
1

使用 aLinearLayout并放置两个TextView不同形状的背景。

第一个的上角是圆形的,第二个的底角是圆的。

于 2012-06-04T13:43:36.073 回答
0

这个工具可能有助于进一步的开发

http://angrytools.com/

http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

于 2014-03-19T12:15:25.110 回答