android 5.0 imageButton自带阴影解决方案

Posted Shark_Li

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 5.0 imageButton自带阴影解决方案相关的知识,希望对你有一定的参考价值。

偶然发现,当android 5.0在按如下方式使用ImageButton时,会有自带的阴影,如图:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical" >

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />

</LinearLayout>
View Code

解决方法就把android:src="@drawable/ic_launcher"改成 android:background="@drawable/ic_launcher"效果如图:

原因就是ImageButton继承ImageView,并加载了一个默认样式:

public ImageButton(Context context, AttributeSet attrs) {
this(context, attrs, com.android.internal.R.attr.imageButtonStyle);
}

以上是关于android 5.0 imageButton自带阴影解决方案的主要内容,如果未能解决你的问题,请参考以下文章

解决Android 5.0以上Button自带阴影的问题

解决Android 5.0以上Button自带阴影的问题

Android ImageButton使用详解(系列教程四)

android.widget.RelativeLayout 无法转换为 android.widget.ImageButton

材质组件中没有 ImageView/ImageButton (Android)

Android ImageButton 点击变按钮图片