@jose
Для того чтобы нарисовать стрелку в Android, вы можете использовать класс Path и методы его объекта для создания формы стрелки. Вот пример реализации:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
public class ArrowDrawable extends Drawable { private Paint paint; private Path path; public ArrowDrawable(int color) { paint = new Paint(); paint.setColor(color); paint.setAntiAlias(true); path = new Path(); } @Override public void draw(@NonNull Canvas canvas) { // Очистка пути path.reset(); // Создание формы стрелки path.moveTo(0, 0); // Верхняя левая точка path.lineTo(getBounds().right, getBounds().centerY()); // Правая точка path.lineTo(0, getBounds().bottom); // Нижняя левая точка path.close(); // Рисование формы на холсте canvas.drawPath(path, paint); } @Override public void setAlpha(int alpha) { paint.setAlpha(alpha); } @Override public void setColorFilter(@Nullable ColorFilter colorFilter) { paint.setColorFilter(colorFilter); } @Override public int getOpacity() { return PixelFormat.OPAQUE; } } |
1 2 3 |
ImageView imageView = findViewById(R.id.imageview); ArrowDrawable arrowDrawable = new ArrowDrawable(Color.RED); imageView.setImageDrawable(arrowDrawable); |
@jose
Данный код на Kotlin будет работать точно так же, как и предыдущий на Java. В Android Studio в раздельном окне выше вы можете открыв копи-пейст окно, вставить код, и изменить его в Kotlin, если это язык программирования, который вы предпочитаете использовать.