Я создал простой пользовательский элемент управления в Android и на нем поместил фоновое изображение. У меня возникают проблемы, когда управление находится на макете в разных размерах (то есть, когда он растягивается), а именно:Имея некоторые проблемы с масштабированием в пользовательском представлении Android
Я хочу наложить прямоугольник в определенной позиции и размера, который я знаю положение пикселя для исходного изображения. Как я могу это сделать с моим контролем. Я подозреваю, что что-то подобное невозможно, поскольку это 9-патч. Является ли мой лучший выбор, чтобы выработать процент от верхнего/левого на оригинале или это бессмысленно, если некоторые части растягиваются, а некоторые нет?
В пользовательский элемент управления я установить изображение, как это в конструкторе:
setBackgroundResource (R.drawable.buttonbt);
Который работает нормально, однако я хотел изначально сделать это в случае OnDraw, как я мог бы изменить его в зависимости от изменения свойств, например,
Bitmap b=BitmapFactory.decodeResource(getResources(), R.drawable.buttonbt);
canvas.drawBitmap(b, 0, 0, null);
Но это не меняет размер в зависимости от размера своей ограничительной рамки, он просто пытается показать его на это оригинальный размер без масштабирования, чтобы соответствовать. Как бы вы это сделали (лучше ли первый метод или нет).
спасибо.
Ad-не знают, что вы имеете в виду – pskink
2 объявления использования drawBitmap с Матричный параметр, заданная матрица с использованием Matrix.rectToRect (- – pskink
Относительно 1. Да, это сложно описать, возможно, мне следовало бы поместить картинку в :) по существу, элемент управления можно растянуть в зависимости от его ширины/высоты и плотности отображения , Я хочу наложить представление на конкретное относительное смещение с помощью прямоугольника - как вычислить это положение, так что это то же самое независимо от размера. Лучше? –