Intereting Posts
Способ приостановки эмулятора Android? Почему мой метод сравнения иногда исключает IllegalArgumentException? Странная авария на Samsung Galaxy S5 Как можно обрабатывать несколько запросов для заполнения моделей с помощью RXJava Observables? Каковы инструменты для отладки собственного кода в Android Android Studio E / dalvikvm: Не удалось найти класс '.DatabaseHelper', на который ссылается метод .DatabaseManager Ошибка при запуске андроида Обработка определенных URL-адресов с фильтрами намерений в Xamarin Mono для Android Тестирование HTTP-запроса / ответа в android Начните еще одно действие (по Intent) на полуэкранном Как использовать учетную запись Gmail для аутентификации приложения в Android? Android Facebook SDK: генерировать ключ ключа релиза Анонсы Android сообщаются в DigitsActivity, DigitsActionBarActivity, FailureActivityDelegateImpl Retrofit v2 Вызывает ли Call.cancel () обратный вызов? Получение электронной почты и телефонных номеров от контакта без продления действия

Android: BitmapDrawable.Draw (Canvas) Кажется не работает

Я пытаюсь сфокусировать фон 20×20 на моем пользовательском представлении, но по какой-то причине я тоже не могу.

BitmapDrawable background; background = new BitmapDrawable(BitmapFactory.decodeResource(getResources(), R.drawable.back)); background.setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.REPEAT); background.draw(canvas); 

Кто-нибудь есть идея, почему он не работает?

    Вы можете использовать BitmapDrawable, но сначала вы должны установить границы, чтобы он знал, сколько нужно сделать:

     BitmapDrawable background; background = new BitmapDrawable(BitmapFactory.decodeResource(getResources(),R.drawable.back)); //in this case, you want to tile the entire view background.setBounds(0, 0, myView.getWidth(), myView.getHeight()); background.setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.REPEAT); background.draw(canvas); 

    Вероятно, вы получаете предупреждения в своем журнале относительно сбоя SKImageDecoder. Если вы создаете ресурс через xml, вам нужно его (BitmapDrawable) getResources().getdrawable(id) через (BitmapDrawable) getResources().getdrawable(id)

    У вас есть это назад. Вместо того, чтобы передать холст View в метод рисования растрового изображения, нарисуйте Bitmap на холсте View с помощью Canvas.drawBitmap