在 imageButton 中添加图像

Add image in imageButton

我想制作一个像 WhatsApp 一样的圆形图像按钮。

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

 <ImageButton
        android:id="@+id/imageButton"
        android:layout_width="70dp"
        android:paddingBottom="140dp"
        android:src = "@drawable/camera"
        android:scaleType="fitXY"
        android:layout_height="70dp"
        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:width="5dp"
        android:color="#090" />

</shape>

您刚刚错过了自定义形状文件中的 solid 标签。

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

编辑:

切勿尝试提供具有较大值的边距或填充。就像你在使用 android:paddingBottom="140dp"。这不是推荐的方式。

要绘制实心圆,请尝试以下代码:

<?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:width="100dp"
        android:height="100dp"/>
</shape>

形状类型oval用于画圆。

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

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

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_width="wrap_content"
    android:layout_height="wrap_content"
    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 下载相机图像。

大功告成。

试试这个

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

Use a shape and fill with your desire color.

<?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>

Use code in ImageButton

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

添加实体标签

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

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

设置宽度和高度如下。

android:layout_width="match_parent"
android:layout_height="wrap_content"

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