Android GridView - как установить ColumnWidth в дп - PullRequest
1 голос
/ 03 сентября 2011

У меня есть GridView, который, в зависимости от ситуации, может иметь 3 или 4 колонны. Ширина столбца должна меняться в зависимости от того, 3 или 4 отображаются Поэтому я не могу жестко закодировать ширину в XML-макет, содержащий GridView, он должен быть установлен через Команда setColumnWidth.

Проблема в том, что setColumnWidth может устанавливать ширину только в пикселях, и я хочу указать ширину в дп. Как я могу это сделать, или я должен создать 2 макета с жестко закодированной шириной столбца в dp?

Спасибо

1 Ответ

3 голосов
/ 03 сентября 2011

Вы можете использовать этот код для преобразования dp в px:

Resources r = getResources();
float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 14, r.getDisplayMetrics());

Но так как вы меняете количество столбцов с 3 на 4 и наоборот, ширина столбца не изменяется сама по себе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...