我想在主应用程序屏幕上添加具有透明背景的图像按钮。我已经在GIMP中创建了图像,并以png格式保存了透明背景但是当我将它们添加到我在Eclipse中的Android应用程序时,它们显示为白色背景。如何在我的代码中删除它?
答案 0 :(得分:11)
尝试在xml布局中使用null作为图像按钮的背景。
android:background="@null"
答案 1 :(得分:1)
透明背景通常在photoshop中使用时有效,如果不是,则必须设置图像边框周围像素的alpha位
使用 alpha-masking (Alpha混合的子集,谷歌了解更多信息)。
一个小理论:取决于位图中每个像素的alpha位(半透明位),确定该像素与重写像素的混合程度。考虑到极值,如果alpha为255,则使用覆盖像素而不是覆盖的像素(完全不透明,常规术语);如果alpha为0,则忽略覆盖像素(透明)。对于其中的其他alpha:有混合。
在你的情况下,你 必须使边界的alpha 为零,以实现完全混合。概述geral中的所有步骤:。
2.你需要预先以这种方式创建并保持你的位图可绘制(使用google进行alpha混合PNG),使边框的alpha值为零(使用像Paint.NET这样的软件)。
例如,这是具有透明像素的PNG图像,其具有除字母表本身之外的α0 。
以上是活动彩色背景上的alpha混合PNG。我希望这是你真正想要实现的目标。
答案 2 :(得分:0)
你可以设置
android:background="@null"
XML中的
答案 3 :(得分:0)
我在.aspx页面上遇到了同样的问题 - 添加了一个添加和删除喜欢的功能。我知道图像是一个具有透明背景的.gif图像格式 - 但正如这里所提到的,它在IE9和Chrome浏览器中显示为白色方形背景。
我添加了这个并解决了问题 - 但你必须确保.gif或图像确实也有透明背景:
<asp:ImageButton runat="server" ID="lnkFavorite" BackColor="Transparent" AlternateText="Add Favorite" CommandName="Favorite"
ImageUrl="Images/MakeFavorite_30.png" ToolTip="Click to add to the My Favorite Threads grid."
CommandArgument='<%# DataBinder.Eval(Container, "RowIndex") + ";" + Eval("FavoriteUserID")%>' />
BackColor =“透明”属性为我做了!我希望这也有帮助!
拉斯
答案 4 :(得分:0)
5年后在这里回答,以便与Android L +兼容。
要在ImageButton上使用PNG(透明)图像作为背景,应使用属性background
而不是src
<ImageButton
android:id="@+id/imageProg"
android:layout_width="80dp"
android:layout_height="80dp"
android:onClick="doStuff"
android:background="@drawable/ic_stuff"