Поменять местами текст для рисованного изображения - PullRequest
0 голосов
/ 10 апреля 2019

Код содержит чередующиеся кнопки «Воспроизведение» и «Пауза». Он работает нормально, но можно ли настроить их с помощью рисованного изображения?

Я пытался использовать

btControl.getCompoundDrawables(R.id.imgplay)

но мне не удалось.

if (btControl.getText().equals("►")) {

                this.startService(intent);
                cmPasstime.setBase(SystemClock.elapsedRealtime());
                cmPasstime.start();
                btControl.setText("■");


            } else if (btControl.getText().equals("■")) {
                this.stopService(intent);
                cmPasstime.stop();
                btControl.setText("►");


            } else if (btControl.getText().equals("►")) {
                this.startService(intent);
                cmPasstime.start();
                btControl.setText("■");
            }

Есть ли способ вставить два изображения вместо "►" и "■"?

1 Ответ

0 голосов
/ 10 апреля 2019

Лучший способ - установить тег для кнопки в качестве идентификатора и принять решение о ее значении вместо того, чтобы рисовать. Нравится

  if (((String)btControl.getTag()).equals("playing")) {


        btControl.setBackgroundResource(R.drawable.paused);
        btControl.setTag("paused");

        // Your Code


    } else if (((String)btControl.getTag()).equals("paused")) {

        btControl.setBackgroundResource(R.drawable.playing);
        btControl.setTag("playing");

        // Your Code

    }
...