Android Studio 3.0 - Как сделать тумблер, который подходит - PullRequest
0 голосов
/ 28 сентября 2018

Я, возможно, задаю основной вопрос, но, если честно, у меня нет реальной разработки или знания кода.Меня попросили сделать прототип некоторого базового приложения, которое должно быть главным образом кнопками на экранах, активируемыми или отключаемыми.

Я кодировал это на Android Studio 3.0, мне (вряд ли) удалосьразмещать файлы PNG на экране, делая его похожим на кнопку.Когда я нажимал на нее, ничего не происходило, конечно, поэтому я искал там и там, как изменить это при нажатии. Это сработало

        casedanger1.setOnTouchListener(new View.OnTouchListener(){

        public boolean onTouch(View v, MotionEvent event) {
            switch(event.getAction())
            {
                case MotionEvent.ACTION_DOWN :
                    casedanger1.setImageResource(R.drawable.casedanger1slct);
                    break;
                case MotionEvent.ACTION_UP :
                    casedanger1.setImageResource(R.drawable.casedanger1);
                    break;
            }
            return false;
        }
    });

Но когда я пытаюсь снова отключить кнопку, она не возвращаетсяк стандартному изображению (casedanger1)

Как мне поступить?Я искал дни без реального решения.Я попытался сделать это кнопкой переключения, которая работает, но делает изображение больше и, таким образом, обрезается.

Любые подсказки, которые могут помочь?Я действительно в отчаянии, это не то, с чем я знаком.

Спасибо -Плискин

1 Ответ

0 голосов
/ 28 сентября 2018

Я думаю, что вы были близки.Попробуйте это

    casedanger1.setOnTouchListener(new View.OnTouchListener(){
    // track if the image is selected or not
    boolean isSelected = false;

    public boolean onTouch(View v, MotionEvent event) {
        if(isSelected) {
                casedanger1.setImageResource(R.drawable.casedanger1slct);
        } else {
                casedanger1.setImageResource(R.drawable.casedanger1);
        }
        // toggle the boolean
        isSelected = !isSelected;
        return false;
    }
});
...