如何在android中构建一个梯形?

如何创建如下图像的梯形形状?

在此处输入图像描述

我不想使用图像或9.png。

尝试这个:

     

在此处输入图像描述

您可以尝试在代码或xml中创建LayerDrawable 。 制作矩形形状和三角形形状查看开发者网站以获取更多信息: http : //developer.android.com/reference/android/graphics/drawable/LayerDrawable.html

此类是一个定义和绘制梯形ShapeDrawableView 。 因此,作为Drawable的梯形也可以用于背景中。

 package com.stackoverflow.questions.q25768037; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; import android.graphics.drawable.ShapeDrawable; import android.graphics.drawable.shapes.PathShape; import android.util.AttributeSet; import android.view.View; public class TrapezoidView extends View { private ShapeDrawable mTrapezoid; public TrapezoidView(Context context, AttributeSet attrs) { super(context, attrs); Path path = new Path(); path.moveTo(0.0f, 0.0f); path.lineTo(100.0f, 0.0f); path.lineTo(200.0f, 100.0f); path.lineTo(0.0f, 100.0f); path.lineTo(0.0f, 0.0f); mTrapezoid = new ShapeDrawable(new PathShape(path, 200.0f, 100.0f)); mTrapezoid.getPaint().setStyle(Paint.Style.FILL_AND_STROKE); mTrapezoid.getPaint().setStrokeWidth(1.0f); mTrapezoid.getPaint().setColor(Color.GREEN); } @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { mTrapezoid.setBounds(0, 0, w, h); } @Override protected void onDraw(Canvas canvas) { mTrapezoid.draw(canvas); } }