有啥方法可以从 ImageButtons 中删除灰色背景?
Posted
技术标签:
【中文标题】有啥方法可以从 ImageButtons 中删除灰色背景?【英文标题】:Any way to remove the grey background from ImageButtons?有什么方法可以从 ImageButtons 中删除灰色背景? 【发布时间】:2012-03-20 14:26:17 【问题描述】:我有一个 ImageButton,我想删除围绕图像的丑陋 (恕我直言) 背景。我可以只添加一个 ImageView,但它们很难像图中的灰色那样完美地设置在一个布局中。 [重力“中心”不会让它去中间,只是垂直居中。)
那么有什么办法可以去掉呢?
【问题讨论】:
如何将图像添加到图像按钮? android:src 或 android:background 我只是把它拖到图形编辑器中,然后this 出现了,让我选择我的图片。但是每个 ImageButton 周围都有灰色渐变背景。 【参考方案1】:只需使用android:background="#0000"
(#0000 与 #00000000 相同)
或
ImageButton imageButton = new ImageButton(this);
imageButton.setBackgroundDrawable(null);
【讨论】:
setBackgroundDrawable
自 API 16 起已弃用:Android 4.1 (Jelly Bean)。请改用setBackground
setBackground(null)
【参考方案2】:
默认背景不透明。
所以,只需将透明色“#00000000”添加为背景,即可解决。
附言#00000000 为透明色
<ImageButton
android:id="@+id/imageButton1"
android:layout_
android:layout_
android:src="@drawable/icon"
android:background="#00000000"
/>
【讨论】:
Google/Android 应该告诉你默认背景不是透明的,可以节省一个小时查看 google 和 ***【参考方案3】:您可以保留方形框并像这样更改其颜色:
android:backgroundTint="@color/colorPrimary"
效果很好
【讨论】:
【参考方案4】:只需在您的 xml 中使用android:background="@null"
【讨论】:
干杯真的很有帮助!【参考方案5】:我也遇到了同样的问题,但现在已经解决了。如果您使用"android:background="@null"
,它将导致根本没有背景,并且不会向用户显示任何按下按钮的动画。
只需添加这行代码即可使图像按钮在单击时闪烁。这是提醒用户单击图像按钮的正确方法。
"android:background="?android:selectableItemBackground"
【讨论】:
【参考方案6】:如果你设置了
android:background
而不是
android:src
它应该覆盖灰色背景
【讨论】:
【参考方案7】:是的。如果拖动通常会要求 ImageSource 的 ImageButton。但是 ImageSource(android:src) 不会删除灰色背景。这是一个应该在背景之上的图像:
在 XML 布局中尝试使用 android:background。
【讨论】:
【参考方案8】:请使用 SDK 提供的 Draw 9-patch 格式的图像
1. From a terminal, launch the draw9patch application from your SDK /tools directory.
2. Drag your PNG image into the Draw 9-patch window (or File > Open 9-patch... to locate the file). Your workspace will now open.
左窗格是您的绘图区域,您可以在其中编辑可拉伸补丁和内容区域的线条。右侧窗格是预览区域,您可以在其中预览拉伸时的图形。
3. Click within the 1-pixel perimeter to draw the lines that define the stretchable patches and (optional) content area. Right-click (or hold Shift and click, on Mac) to erase previously drawn lines.
4. When done, select File > Save 9-patch...
您的图片将以 .9.png 文件名保存。
【讨论】:
【参考方案9】:这样使用
android:background="@android:color/transparent"
android:src="@drawable/icon"
【讨论】:
【参考方案10】:所有提议的解决方案都删除了波纹动画(点击时)
将背景色调模式设置为“添加”将删除背景并保留波纹动画:
android:backgroundTintMode="add"
【讨论】:
【参考方案11】:如果使用 Xamarin Forms,可以在 xaml 视图中这样做。将背景设置为透明。
<ImageButton BackgroundColor="Transparent"
【讨论】:
以上是关于有啥方法可以从 ImageButtons 中删除灰色背景?的主要内容,如果未能解决你的问题,请参考以下文章
当使用 RegionManager.RequestNavigate 方法添加视图时,有啥方法可以从 Prism 区域中删除视图(按名称)?
当 <li> 从容器 div 中取出时,有啥方法可以删除它?
有啥方法可以从托管在 linux 服务器上的 Phpmyadmin 中找到谁被删除的数据库
有啥方法可以从***项目 gradle 中删除“classpath 'com.google.gms:google-services:4.2.0' 依赖项