在imageButton中添加图片

时间:2017-01-04 06:08:46

标签: android imagebutton android-imagebutton

快乐的2017家伙!

我尝试制作像whatsapp

这样的圆形图像按钮

enter image description here

我尝试了下面的代码,但我只能创建一个循环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>

enter image description here

8 个答案:

答案 0 :(得分:3)

您添加了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" />

答案 1 :(得分:1)

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

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

修改

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

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

下载相机图片

你完成了。如果有帮助,请告诉我们。

答案 4 :(得分:1)

试试这个

&#13;
&#13;
<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" />
&#13;
&#13;
&#13;

答案 5 :(得分:1)

  

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

<?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_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" />

答案 6 :(得分:1)

添加固体标记

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

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

答案 7 :(得分:0)

设置宽度和高度如下。

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

这项工作对我来说。试试这个..