После того, как была выпущена поддержка API 17/RTL, я добавил следующее в мой манифест
android:supportsRtl="true"
который заставил Линта по праву дать мне эти предупреждения везде, где у меня есть paddingLeft/Right в моих представлениях:
Рассмотрите возможность добавления android: paddingStart = "8dp", чтобы лучше поддерживать макеты слева направо
Рассмотрим добавление android: paddingEnd = "8dp", чтобы лучше поддерживать макеты справа налево
Я сделал это в соответствии с рекомендациями, приведенными в этом блоге разработчиков android-разработчиков, который подразумевал, что нам не нужно было создавать новый макет-v17 файл, но он может просто использовать как paddingStart/End, так и атрибуты paddingLeft/Right (для продолжения поддержки нижнего minSdk требуется Left/Right).
Я только что сделал обновление для Android Studio 1.0 из предыдущей бета-версии и заметил новую ошибку lint, которая гласит:
- Атрибут paddingStart, указанный здесь, может привести к сбою на некоторых определенных устройствах старше API 17 (текущий мин равен 7)
и предлагаемое исправление:
Переопределить ресурс в макете-v17
Это имеет смысл. Однако после создания layout-v17 и удаления неиспользуемого paddingStart/End из основной папки макета, оригинальные предупреждения Lint снова появились, сказав, что я должен использовать paddingStart/End. Похоже, что он не понимает, что я переопределил файлы в layout-v17.
Кто-нибудь знает, как решить то, что кажется противоречивым сообщениям об ошибках/предупреждениях Lint? Я знаю, что могу предупредить только tools:ignore
, но я надеюсь на "правильное" решение.
Изменить (1/19/15): Существует проблема