Как вырезать прямоугольник в Android Canvas - PullRequest
0 голосов
/ 05 мая 2011

Я создаю RoundRec.

canvas.drawRoundRect(new RectF(0, 0, 100, 10), 7, 7, paint);

Но мне нужны только два верхних круглых угла, поэтому мне нужно вырезать половину нижнего прямоугольника (0, 0, 0, 5) и просто оставить половину верхней стороны.

Что мне делать?

1 Ответ

0 голосов
/ 05 мая 2011

Если я правильно понимаю, вы хотите нарисовать прямоугольник, в котором закруглены только верхние углы?

вы можете создать пользовательскую фигуру , используя xml.

ВВ res / drawable у вас будет xml (назовем его «myCustomRect»), который будет выглядеть примерно так:

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

<corners
        android:topLeftRadius="7"
        android:topRightRadius="7"
        android:bottomLeftRadius="0"
        android:bottomRightRadius="0" />
<size
        android:width="100"
        android:height="10"/>
<solid
        android:color="#000000" />

</shape>

Вы зададите фигуру в макете:

<ImageView android:id="@+id/myId"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:background="@drawable/muCustomRect"/>

Я не проверял все это, поэтому вам, возможно, придется немного отладить себя.

...