2010-09-18 2 views
0

Я пытаюсь смешивать ресурсы nodpi и ресурсы non-nodpi в моем приложении, но это просто не работает. Когда я работаю только с nodpi, отображается размер экрана: 480x800 (например), и все растровые изображения рисуются правильно. Но когда я удаляю одно растровое изображение в drawable-normal, разрешение понижается, и это не то поведение, которое я хочу.Как смешивать nodpi и обычные/средние/мелкие/большие ресурсы

Что я ищу - это смешать активы, которые не следует масштабировать в зависимости от спецификаций экрана (растровые изображения nodpi) с другими растровыми изображениями, которые я бы хотел, чтобы андроид взял на себя ответственность за выбор правильного размера.

В случае, если это не имеет смысла, позвольте мне объяснить это с помощью примера: Я хочу, чтобы шрифты/кнопки/другие элементы UI масштабировались, но не на фоне игры, которая должна занимать больше, чем размер экрана. Последняя часть должна быть nodpi (просто больше прокрутки на экране меньшего размера).

Как я могу это сделать?

ответ

0

Ok, я нашел решение: при загрузке растровых изображений, которые я делаю не масштабируется, даже если они находятся в папке nodpi, я указываю опцию inScaled = false. Таким образом, они не отображаются в очень больших масштабах.

Я, конечно, не понимаю все о ресурсных системах, потому что, похоже, это не так много. Но это работает.

0

Позвольте мне посмотреть, если это имеет смысл. Если у вас есть актив в папке nodpi, у вас не должно быть одного и того же имени в другой папке, например sayableable-normal. Это связано с тем, что, как вы сказали, nodpi означает, что эти изображения не должны масштабироваться, теперь, если у вас есть их в drawable-normal, Android автоматически попытается масштабировать его. Надеюсь, это имеет смысл.

Смежные вопросы