Why "Buttons in button bars should be borderless" in Android API Level 15?
AndroidEclipseAndroid LayoutAndroid Problem Overview
I'm developing an application for Android and I recently changed the API level target from 8 to 15, and now Eclipse is warning me when the Buttons
are inside Linear Layouts
or Table Rows
.
The same doesn't happen when the Button
is in a Relative Layout
.
The warning says:
> Buttons in button bars should be borderless; use > style="?android:attr/buttonBarButtonStyle" (and > ?android:attr/buttonBarStyle on the parent)
I can get rid of the warning by following the suggestion or even by suppressing it, but I'm interested to know why this now? What's wrong with bordered buttons?
Android Solutions
Solution 1 - Android
The borderless buttons are for cohesiveness of design throughout the android platform. It's recommended you follow the guidelines so that the user feels that your app is native and does not stick out like a sore thumb, but there are many cases where it just doesn't make sense, like if it makes your app look unprofessional. If that is the case, you may want to turn off the warning.
To turn off the warning, go to the project properties -> Android Lint Preferences. Search for "border" or "ButtonStyle" and change the severity to ignore on the bottom right.
You can also do this in Eclipse preferences for all projects.
For Android Studio Users:
File -> Settings -> Editor -> Inspections -> Android Lint. Search for "borderless" and uncheck or change the severity.
Solution 2 - Android
Here is another simple way to get rid of it.
The compiler is trying to tell you to set the style of the button. So simply add the following style for the Android default borderless style and the error will be gone.
<Button
...
style="?android:attr/borderlessButtonStyle"/>
Here is the proof
Solution 3 - Android
In my case adding that style to ALL buttons which were ONLY elements in some linerar layout gave buttons without any borders. After adding style also to the layout I got buttons separated with small edges exsacly like in some epements of my (4.1.2) android interface eg. like in dialog possitive/negative buttons. It worked correctly. Standard Holo buttons are ugly but with that styles they look "professional";-)