Android 4 не масштабирует векторную графику - PullRequest
0 голосов
/ 01 февраля 2019

Я конвертирую код обратно из Android 7 в Android 4.4

В частности, я пытаюсь нарисовать пользовательский коммутатор с пользовательским треком и большим пальцем.На Android 7 работает нормально, на Android 4 растягиваемый палец не масштабируется на всех, что делает его очень уродливым.

Вот так это выглядит на Android 4, с немасштабируемым большим пальцем, рисуемым

Так оно выглядит на Android 7, что и задумано

Поскольку определение дорожки и большого пальца в файле XML приводит к сбою приложения под Android 4, я делаю это в коде следующим образом:

    Drawable drawable = VectorDrawableCompat.create(m_resources, switchId, getTheme());
    sw.setTrackDrawable(drawable);

    Drawable thumb = AppCompatResources.getDrawable(this, R.drawable.switch_thumb_small);
    sw.setThumbDrawable(thumb);

Файл switch_thumb_small.xml содержит селекторс двумя слоями, с: 1. черным кружком 2. белым крестиком внутри для непроверенного состояния или: 1. черным кружком 2. белой галочкой внутри

Но весь нарисованный большой палец выглядит какузкое яйцо вместо круга, как показано на связанных изображениях.

Заранее спасибо за любую помощь!

1 Ответ

0 голосов
/ 04 февраля 2019

просто добавьте инструменты: targetApi = "lollipop" в xml и установите рисование, используя xml

...