Подтвердить что ты не робот

Почему "Кнопки в панелях кнопок должны быть без полей" в Android API Level 15?

Я разрабатываю приложение для Android, и недавно я изменил цель уровня API с 8 до 15, и теперь Eclipse предупреждает меня, когда Buttons находится внутри Linear Layouts или Table Rows.

То же самое не происходит, если Button находится в Relative Layout.

Предупреждение гласит:

Кнопки в панелях кнопок должны быть без полей; использование style = "? android: attr/buttonBarButtonStyle" (и? android: attr/buttonBarStyle у родителя)

Я могу избавиться от предупреждения, следуя предложению или даже подавив его, но мне интересно узнать, почему это сейчас? Что случилось с кнопками с рамкой?

4b9b3361

Ответ 1

Кнопки без полей предназначены для сплоченности дизайна на всей платформе Android. Он рекомендовал вам следовать рекомендациям, чтобы пользователь чувствовал, что ваше приложение является родным и не торчит, как больной палец, но есть много случаев, когда это просто не имеет смысла, например, если оно делает ваше приложение непрофессиональным. Если это так, вы можете отключить предупреждение.

Чтобы отключить предупреждение, перейдите к свойствам проекта → Настройки Android Lint. Найдите "border" или "ButtonStyle" и измените степень серьезности, чтобы игнорировать в правом нижнем углу.

Вы также можете сделать это в настройках Eclipse для всех проектов.

Для пользователей Android Studio:
Файл → Настройки → Редактор → Инспекции → Android Lint. Найдите "без полей" и снимите отметку или измените степень серьезности.

Ответ 2

Вот еще один простой способ избавиться от него.

Компилятор пытается сказать вам установить стиль кнопки. Поэтому просто добавьте следующий стиль для стиля по умолчанию без полей по умолчанию, и ошибка исчезнет.

<Button
    ...
    style="?android:attr/borderlessButtonStyle"/>

Вот доказательство

введите описание изображения здесь

Ответ 3

В моем случае добавление стиля для ВСЕХ кнопок, которые были ТОЛЬКО элементами в макете Linerar, давало кнопки без каких-либо границ. После добавления стиля также к макету я получил кнопки, разделенные маленькими краями exsacly, как в некоторых версиях моего (4.1.2) интерфейса Android, например. например, в диалогах с положительными/отрицательными кнопками. Он работал правильно. Стандартные кнопки Holo являются уродливыми, но с такими стилями они выглядят "профессиональными", -)