如何解决使用 app:srcCompat android MaterialButton 而不是 app:icon 时图标不显示
我正在使用 MaterialButton
和 app:srcCompat
,但遗憾的是没有显示图标。尝试了矢量绘图和 webp 图像,但没有任何效果。
<com.google.android.material.button.MaterialButton
android:id="@+id/facebookButton"
style="@style/ButtonS.Normal"
android:layout_width="match_parent"
android:layout_height="@dimen/spacing_48"
android:layout_marginTop="@dimen/spacing_8"
android:background="@drawable/bg_blue_round_corner"
android:gravity="center"
android:text="@string/welcome_screen_continue_with_facebook"
app:srcCompat="@drawable/ic_facebook"
app:iconGravity="textStart"
app:iconPadding="7dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent">
有人知道为什么它不起作用吗?
注意:我必须使用 app:srcCompat
而不是 app:icon
自从收到一个随机异常,我怀疑是因为使用了 app:icon
详细堆栈跟踪:
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.client/com.android.onboarding.welcome.ui.WelcomePageActivity}: android.view.InflateException: Binary XML file line #264 in com.android.client:layout/activity_landing_page: Binary XML file line #264 in com.android.client:layout/activity_landing_page: Error inflating class <unknown>
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3477)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3620)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2183)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:241)
at android.app.ActivityThread.main(ActivityThread.java:7617)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)
和发生异常的 XML 第 264 行:
<com.google.android.material.button.MaterialButton
.......
app:layout_constraintTop_toBottomOf="@+id/emailButton" /> // Line 264
解决方法
使用 app:icon
属性:
<com.google.android.material.button.MaterialButton
app:icon="@drawable/ic_facebookx"/>
MaterialButton
不使用 app:srcCompat
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。