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

Posted

技术标签:

【中文标题】在android中将drawable设置为浮动操作按钮ImageView【英文标题】:Setting drawable to floating action button ImageView in android 【发布时间】:2015-10-31 23:39:12 【问题描述】:
ImageView icon = new ImageView(this);
icon.setImageDrawable(R.drawable.alarm);

当我想设置可绘制图标时,它给我的错误是 android 图形可绘制不能应用于 ImageView

【问题讨论】:

“这个”是什么样的? “this”应该是这里的上下文。检查“警报”可绘制对象是否存在。同时提供完整的 logcat 以便于调查。 ImageView 图标 = new ImageView(this); icon.setImageDrawable(ContextCompat.getDrawable(MainActivity.this , R.drawable.alarm)); FloatingActionButton actionButton = new FloatingActionButton.Builder(this) .setContentView(icon) .build(); SubActionButton.Builder itemBuilder = new SubActionButton.Builder(this); 这是代码,但我的图标仍然没有出现在浮动按钮上。为什么? 我在您的代码中看不到错误。请试试这个getResources().getDrawable(R.drawable.alarm)。而且我认为您正在尝试使用此libs,因此请学习有关它的教程。 【参考方案1】:

问题是您在

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

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

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

或者你应该调用这个方法。

icon.setImageResource(R.drawable.alarm);

【讨论】:

我已将 png 格式的图标放入 drawable 中。现在我想设置这个我命名为警报的图标...现在我想将该警报图标设置为我的浮动操作按钮和它返回给我同样的 android 图形错误? 在这里查看***.com/questions/30969455/…【参考方案2】:

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

【讨论】:

【参考方案3】:
<com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/addPostBtn"
    android:layout_
    android:layout_
    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 关键字。

【讨论】:

以上是关于在android中将drawable设置为浮动操作按钮ImageView的主要内容,如果未能解决你的问题,请参考以下文章

如何在浮动操作按钮中将图像设置为居中裁剪

如何在 android 中将 Bitmap 转换为 Drawable?

无论如何在Android中将Drawable转换为int

如何在 Android Studio 中将文本设置为对应的图像

我需要从存储在我的 res/drawables 中的图像中将图像设置到我的 ImageView

如何在Android中将操作栏标签中心对齐?