【问题标题】:Add an image in the middle of button?在按钮中间添加图像?
【发布时间】:2014-07-15 07:46:46
【问题描述】:

所以我在布局中创建了一个按钮,但我希​​望它是一个圆圈。 所以我创建了一个像这样的 .xml 可绘制对象 -

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="#673ab7"/>
    <stroke android:width="2sp" android:color="#fff" />
</shape>

然后在布局中的按钮位中添加了这个

android:background="@drawable/circle_button"

但现在我希望在圆圈按钮内有一个图像。我怎样才能做到这一点?我可以简单地在可绘制的 xml 中添加一些东西吗?

我尝试过寻找答案,但对我应该寻找什么感到困惑。

【问题讨论】:

  • 查看我的回答并给我反馈。

标签: android xml layout


【解决方案1】:

尝试以下操作:

<ImageButton
        android:id="@+id/imgBtn"
        android:layout_width="35dp"
        android:layout_height="35dp"
        android:background="@drawable/circle_button"
        android:src="@drawable/image_to_insert"
        android:adjustViewBounds="true"
        android:scaleType="fitCenter" />

【讨论】:

  • 谢谢,我不得不将 circle_button 更改为 src,然后我将图像设为背景。似乎工作正常。
  • 很高兴,您找到了解决方案。
  • 这个解决方案有缺陷阅读这个stackoverflow.com/questions/7719617/…
【解决方案2】:

你为什么不去相对布局。只需将具有圆形图像的相对布局作为其背景。唯一的问题是您需要圆形图像。

例如,

    <RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/circle">  //circular shaped image circle.png
    </RelativeLayout>

最后,您只需将侦听器应用于您的布局。这将解决您的问题。

【讨论】:

  • 解释一下它是如何在中间拍摄图像的。再次阅读问题并编辑您的答案。
【解决方案3】:

最简单的方法是创建一个RelativeLayout而不是按钮并将您的图像放入布局中并将其属性android:layout_centerInParent="true"设置为true;

所以它会在RelativeLayout的中间。并将android:background="@drawable/circle_button" 设置为RelativeLayout。现在使用它的 id 获取RelativeLayout 并向RelativeLayout 添加一个点击监听器

【讨论】:

  • 如果正确答案已经存在,那么您不需要添加相同的答案。您可以投票赞成该答案。这就是 stackoverflow 的工作原理。
  • 首先取一个名字 user3811114 。给定的答案不如我的正确。在stackoverflow中,您可以提交多个答案。这样您就可以找到多种方法来完成工作。
猜你喜欢
  • 2013-07-05
  • 2015-12-08
  • 1970-01-01
  • 1970-01-01
  • 2020-10-11
  • 1970-01-01
  • 2021-07-15
  • 2020-08-24
相关资源
最近更新 更多