2011-07-10 34 views
0

我正在使用btn_default作为我的微调背景,而且效果很好。我现在想让btn_default透明。我已阅读过有关可能使用九个补丁制作基于btn_default的自己的按钮,但无法在任何位置找到btn_default.png的问题。我不知道这是如何做到这一点,如果有人解释如何使btn_default透明,将不胜感激。如何使android:drawable/btn_default透明

+0

你是什么意思透明水净化文本标签?完全不可见? – iTurki

回答

0

这里是我结束了这是修改btn_default_normal并删除背景并将其保存为btn_default_normal_invisible。透明度可能是一个贫穷的解释,因为我真的只是想这一切走了这么微调看起来像那些不纺纱

 <Spinner 
     android:id="@+id/m1_ss_spinner" 
     android:background="@drawable/btn_default_normal_invisible" 
    /> 
1

您要查找的图像位于android sdk文件夹中,即:我的mac上的android-sdk/platforms/android-1.6_r02-macosx/data/res/drawable/btn_default.xml。实际上它是一个状态列表drawable,它定义了哪个图像用于哪个按钮状态。

您可以将btn_default.xml和相应的图像(btn_default_normal.9.png,...)复制到您的项目可绘制文件夹中并编辑png,并使按钮使用您的自定义btn_default.xml作为背景。如果你复制和更改图像,你必须遵守许可证(我认为它是Apache 2)。

编辑

没有图片 “btn_default.png”,只是一个statelist绘制 “btn_default.xml”。它列出了按钮不同状态的图像。这些图像是名称:btn_default_normal.9.png,btn_default_selected.9.png,btn_default_pressed.9.png等

要找到某些图像,您必须通过平台特定的res文件夹工作。这些资源将位于他们所介绍的android版本的平台文件夹中。即我可以在中找到btn_default_normal.9.png android-1.6_r02-macosx/data/res/drawableandroid-1.5/data/res/drawable,但不在android-8/data/res/drawable。这意味着1.5产生了资源,1.6以某种方式改变了资源,并且android-8正在使用来自早期版本(可能是1.6)的这个资源。

并非所有的资源都是公共的,这就是错误的原因:“错误:资源不是公开的(在'后台',值为'@android:drawable/btn_default_transparent')”。要使用btn_default_transparent.xml,请将btn_default_transparent及其引用的图像复制到您的项目resfolder中。

+0

我进入了android sdk文件夹,例如:我的电脑上的C:\ android \ android-sdk \ platforms \ android-8 \ data \ res \ drawable \文件夹,并且看到了btn_default.xml,我也看到了btn_default_transparent.xml。所以我想如果btn_default工作,那么应该btn_default_transparent,但我得到一个错误错误:错误:资源不公开。 (在'background'处,值为'@android:drawable/btn_default_transparent')。我从来没有见过btn_default.png,但认为btn_default_transparent可以做到这一点,但如果它能工作。有人关心解释一个作品,而不是另一个? thakns – WmBurkert

+0

我的项目res/drawable文件夹现在有btn_default_pressed.9.png,btn_default_selected.9.png,btn_default_transparent_normal.9.png和btn_default_transparent.xml。我的spiiner包含这一行android:background =“@ android:drawable/btn_default_transparent”,并获得关于未公开的相同错误。我将搜索更多为什么,但我认为我会张贴,以防您在我找到解决方案之前回复。我相信它的东西很傻。 – WmBurkert

+0

您仍在使用sdk的资源!您必须在您的项目中复制btn_default_transparent.xml,可能需要进行编辑!btn_default_transparent.xml是私人的!并将xml中的背景属性更改为android:background =“@ drawable/btn_default_transparent” – thaussma