今天跟UI对界面,发现一个按钮使用系统自带的button会自动有一个阴影。然而在4.x上却没有这个问题。直觉就是因为MD导致的Android版本差异。
果断Google,在stackoverflow上找到了解决方案。
http://stackoverflow.com/questions/28756035/how-to-remove-button-shadow-android
关键一条代码
style=”?android:attr/borderlessButtonStyle”
属性解释
<code class="hljs avrasm has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;"><Button
<span class="hljs-label" style="box-sizing: border-box;">android:</span>id=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"@+id/button_send"</span>
<span class="hljs-label" style="box-sizing: border-box;">android:</span>layout_width=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"wrap_content"</span>
<span class="hljs-label" style="box-sizing: border-box;">android:</span>layout_height=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"wrap_content"</span>
<span class="hljs-label" style="box-sizing: border-box;">android:</span>text=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"@string/button_send"</span>
<span class="hljs-label" style="box-sizing: border-box;">android:</span>onClick=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"sendMessage"</span>
style=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"?android:attr/borderlessButtonStyle"</span> /></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li></ul>
设置该属性就可以去掉自带的阴影。
该属性在API 11及以上可用。鉴于现在普遍都是API 14,所以可以放心使用。已在5.1和6.0上试过,没问题。
原帖:http://blog.csdn.net/lihenair/article/details/50779198