在Android中将drawable设置为浮动操作按钮ImageView

时间:2015-08-08 16:32:28

标签: android

ImageView icon = new ImageView(this);
icon.setImageDrawable(R.drawable.alarm);

当我想设置drawable图标时,它会给我一个错误,即android图形drawable无法应用于ImageView

3 个答案:

答案 0 :(得分:1)

问题是您在

中传递资源的ID
icon.setImageDrawable(R.drawable.alarm);

方法但此方法仅将Drawable作为参数。 您应该将上述调用更改为此

icon.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.alarm));

或者你应该改用这种方法。

icon.setImageResource(R.drawable.alarm);

答案 1 :(得分:0)

改为使用setImageResource(R.drawable.alarm)方法。

答案 2 :(得分:0)

<com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/addPostBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="58dp"
    android:clickable="true"
    android:focusable="true"
    android:padding="0dp"
    android:scaleType="center"
    app:borderWidth="0dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="@+id/mainBottomNavBar"
    app:maxImageSize="45dp"
    android:backgroundTint="@color/White"
    app:srcCompat="@drawable/add_icon"
    app:useCompatPadding="true" />

使用srcCompat关键字。