如何在android中绘制这种类型的布局?

时间:2011-09-22 06:10:52

标签: android android-layout android-widget

我想为布局提供类似于图中所示的背景绘制。我怎样才能使用可绘制的xml?请建议一个合适的方法来解决这个问题。

rectangleCutFromBottom

2 个答案:

答案 0 :(得分:1)

使用单个xml drawable无法做到这一点,但可能你可以选择两个来创建这个效果。我会这样做

  1. 使用黑色边框创建一个方形类型的drawable
  2. 创建一个可绘制的剪辑并剪切sqaure drawable的底部。
  3. 参考这里

    http://developer.android.com/guide/topics/resources/drawable-resource.html#Clip

    您可以使用android:gravity =“top”,然后以编程方式设置级别以显示图像的90%(或更多)

    ImageView imageview = (ImageView) findViewById(R.id.image);
    ClipDrawable drawable = (ClipDrawable) imageview.getDrawable();
    drawable.setLevel(drawable.getLevel() + 9500);
    

答案 1 :(得分:0)

我知道这已经过了4年多,但对于其他想要获得相同结果的人来说,有一种非常简单的方法可以通过创建layer-list xml drawable来实现这一目标。

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

    <item>
        <shape>
            <padding
                android:top="5dp"
                android:left="5dp"
                android:right="5dp" />
            <solid
                android:color="@android:color/black" />
        </shape>
    </item>

    <item>
        <shape>
            <solid
                android:color="@android:color/white" />
        </shape>
    </item>

</layer-list>

将其保存到项目的drawable文件夹中,并像其他任何可绘制文件(android:src / android:background或编程方式一样)引用它