Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why "Buttons in button bars should be borderless" in Android API Level 15?

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?

like image 726
Math Avatar asked May 20 '13 11:05

Math


2 Answers

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.

like image 59
dberm22 Avatar answered Nov 19 '22 05:11

dberm22


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

enter image description here

like image 24
Fangming Avatar answered Nov 19 '22 03:11

Fangming