在 imageButton 中添加图像

Posted

技术标签:

【中文标题】在 imageButton 中添加图像【英文标题】:Add image in imageButton 【发布时间】:2017-05-18 08:31:46 【问题描述】:

我正在尝试制作一个类似于 WhatsApp 的圆形图像按钮。

我尝试了下面的代码,但我只能创建一个循环imageButton。图片未显示在imageButton

 <ImageButton
        android:id="@+id/imageButton"
        android:layout_
        android:paddingBottom="140dp"
        android:src = "@drawable/camera"
        android:scaleType="fitXY"
        android:layout_
        android:background="@drawable/round"
        android:layout_gravity="center_horizontal" />

round.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <corners android:radius="100dp" />

    <stroke
        android:
        android:color="#090" />

</shape>

【问题讨论】:

尝试减少你的 imageButton 的布局宽度和高度 在形状中添加实心标签 @AdeelJaved 添加实体标签后我看不到我的图像 @John 我你正在尝试添加浮动按钮试试这个***.com/questions/27484126/… 【参考方案1】:

如下设置宽度和高度。

android:layout_
android:layout_

这对我有用。试试这个...

【讨论】:

【参考方案2】:

WhatsApp 使用了浮动操作按钮,您可以分两步实现。

将依赖项添加到您的 build.gradle 文件中:

dependencies 
    compile 'com.github.clans:fab:1.6.4'

com.github.clans.fab.FloatingActionButton 添加到您的布局 XML 文件中。

<com.github.clans.fab.FloatingActionButton
    android:id="@+id/fab"
    android:layout_
    android:layout_
    android:layout_gravity="bottom|right"
    android:layout_marginBottom="8dp"
    android:layout_marginRight="8dp"
    android:src="@drawable/ic_message"
    fab:fab_colorNormal="@color/app_primary"
    fab:fab_colorPressed="@color/app_primary_pressed"
    fab:fab_colorRipple="@color/app_ripple"/>

点击here下载相机图片。

你就完成了。

【讨论】:

到目前为止,我从未尝试过使用浮动操作按钮。尝试后会告诉你结果 @John 如果您尝试我的解决方案,那么请告诉我这会对您有所帮助!【参考方案3】:

要画一个实心圆,试试下面的代码:

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">

    <solid android:color="#090"/>

    <size
        android:
        android:/>
</shape>

形状类型oval用于画圆。

【讨论】:

【参考方案4】:

添加实体标签

<solid android:color="#090" /> 

并将android:paddingBottom="140dp" 替换为android:padding="whateversuitsyou"

【讨论】:

【参考方案5】:

使用形状并填充您想要的颜色。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <corners android:radius="100dp" />
    <solid android:color="#090" />  // solid for filling empty space

</shape>

在 ImageButton 中使用代码

<ImageButton
    android:id="@+id/imageButton"
    android:layout_
    android:paddingBottom="140dp"
    android:src = "@drawable/camera"
    android:scaleType="fitXY"
    android:layout_
    android:background="@drawable/round"
    android:layout_gravity="center_horizontal" />

【讨论】:

【参考方案6】:

试试这个

<ImageButton
        android:id="@+id/imageButton"
        android:layout_
        android:layout_
        android:layout_gravity="center_horizontal"
        android:background="@drawable/round"
        android:scaleType="centerInside"
        android:src="@mipmap/ic_launcher" />

【讨论】:

【参考方案7】:

您添加了android:paddingBottom=140dp。有问题。检查这个

<ImageButton
        android:id="@+id/imageButton"
        android:layout_
        android:layout_
        android:layout_gravity="center_horizontal"
        android:background="@drawable/round"
        android:tint="@android:color/black"
        android:scaleType="fitXY"
        android:padding="5dp"
        android:src="@drawable/camera" />

【讨论】:

【参考方案8】:

您只是在自定义形状文件中错过了solid 标签。

<solid android:color="#090" /> 

编辑:

永远不要尝试提供具有较大值的边距或填充。就像您使用 android:paddingBottom="140dp" 一样。这不是推荐的方式。

【讨论】:

添加实心标签后,整个图像按钮变为绿色。我看不到图片

以上是关于在 imageButton 中添加图像的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中为按钮添加图像?

Android:在自定义键盘上添加 imageButton

在 Android 中的 ImageButton 中适合图像

在 ImageButton Click 上说出来

将 Material Design Touch Ripple 应用于 ImageButton?

有啥方法可以从 ImageButtons 中删除灰色背景?