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

我正在尝试制作一个类似于 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>

【问题讨论】:

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

标签: android imagebutton android-imagebutton


【解决方案1】:

如下设置宽度和高度。

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

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

【讨论】:

    【解决方案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_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下载相机图片。

    你就完成了。

    【讨论】:

    • 到目前为止,我从未尝试过使用浮动操作按钮。尝试后会告诉你结果
    • @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:width="100dp"
            android:height="100dp"/>
    </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_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】:

          试试这个

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

          【讨论】:

            【解决方案7】:

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

            【讨论】:

              【解决方案8】:

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

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

              编辑:

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

              【讨论】:

              • 添加实心标签后,整个图像按钮变为绿色。我看不到图片
              猜你喜欢
              • 2018-12-04
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-08-01
              • 2012-12-25
              相关资源
              最近更新 更多