Button сложной формы

175
07 марта 2017, 14:21

Как сделать кнопки сложной формы, допустим границы этой карты в android

Answer 1

Создаёте свою кастомную кнопку, например в виде прямоугольника(на самом деле можно всё что угодно в onDraw отрисовывать):

public class RectButton extends View {
    public RectButton(Context context) {
       super(context);
    }
   public RectButton(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    public RectButton(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }
    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        Paint paint = new Paint();
        paint.setColor(Color.RED);
        canvas.drawRect(100, 200, 150, 250, paint);
    }
}

Добавляете её на активность программно или через xml файл, и потом вешаете на неё обработчик нажатий:

RectButton button = (RectButton) findViewById(R.id.rect_button);
button.setOnTouchListener((view, event)-> {
    switch (event.getAction()) {
            case MotionEvent.ACTION_UP:
                //some code
                break;
            case MotionEvent.ACTION_DOWN:
                //some code
                break;
    }
});
READ ALSO
Задержка KeyStroke эвента

Задержка KeyStroke эвента

Есть такой код:

234
Нужно сохранить число c TextField (JavaFX) в переменную (double)

Нужно сохранить число c TextField (JavaFX) в переменную (double)

Есть TextField и есть переменная, как счидать даные с TextField? Какой handler использовать или это делаться? Нигде не могу найти примерВ какую функию...

458
FileNotFoundException при открытии файла из assets

FileNotFoundException при открытии файла из assets

Почему появляется эта ошибка, если файл существует?

291
выравнивание блока по центру

выравнивание блока по центру

Помогите, пожалуйста, что-то всю голову сломал, без текста получается все ровно, но если добавить текст в блок, то ерунда полнаяИмеется следующая...

317