Presta atención porque en este escrito vas a hallar la solución que buscas.Esta sección fue evaluado por nuestros expertos para asegurar la calidad y exactitud de nuestro contenido.
Solución:
Prueba esto:
Esta clase es un View
que define y dibuja un trapezoide ShapeDrawable
. Así el trapezoide, siendo un Drawable
también se puede utilizar en fondos.
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);
Puedes probar haciendo un LayerDrawable
en código o xml. Haga una forma de rectángulo y una forma de triángulo Consulte el sitio del desarrollador para obtener más información: http://developer.android.com/reference/android/graphics/drawable/LayerDrawable.html
Si aceptas, puedes dejar un ensayo acerca de qué te ha parecido esta crónica.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)