如何拥有透明的ImageButton:Android
<ImageButton android:id="@+id/previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/media_skip_backward"
android:background="@drawable/transparent"></ImageButton>
这就是我尝试获取透明 ImageButton 的方法,以便将这些按钮放置在 SurfaceView 上。但是,当我在 xml 中包含透明行时,Eclipse 就会在项目中出现错误。
请帮忙。
<ImageButton android:id="@+id/previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/media_skip_backward"
android:background="@drawable/transparent"></ImageButton>
This is what I tried to get a transparent ImageButton so as to place those buttons on a SurfaceView. But Eclipse, gives me an error in the project as soon as I include the transparent line in xml.
Please help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(23)
尝试使用 null 作为背景...
Try using null for the background ...
不要使用透明或空布局,因为这样按钮(或通用视图)将不再在点击时突出显示!
在按钮规格中使用它:
DON'T USE A TRANSAPENT OR NULL LAYOUT because then the button (or the generic view) will no more highlight at click!!!
Use this in the button specifications:
您还可以使用透明颜色:
You can also use a transparent color:
将背景设置为
“@null”
将使按钮在单击时没有任何效果。这将是一个更好的选择。后来发现使用
也是一个不错的解决方案。并且您可以按照自己的风格继承此属性。
Setting the background to
"@null"
will make the button have no effect when clicked. This will be a better choice.Later I found that using
is also a good solution. And you can inherit this attribute in your own style.
在运行时,您可以使用以下代码
in run time, you can use following code
如果您需要点击动画,请不要使用 null 或透明。更好的:
Don't use null or transparent if you need a click animation. Better:
我相信公认的答案应该是:
<代码>
android:background="?attr/selectableItemBackground"
这与 @lory105 的答案相同,但它使用支持库来实现最大兼容性(
android:
等效项仅适用于 API >= 11)I believe the accepted answer should be:
android:background="?attr/selectableItemBackground"
This is the same as @lory105's answer but it uses the support library for maximum compatibility (the
android:
equivalent is only available for API >= 11)删除这一行:
在您的活动类集中,
您可以将 alpha 级别设置为 0 到 255
o 表示透明,255 表示不透明。
Remove this line :
And in your activity class set
You can set alpha level 0 to 255
o means transparent and 255 means opaque.
最好的方法是使用透明颜色代码
使用颜色代码#00000000使任何东西透明
The best way is using the transparent color code
use the color code #00000000 for making any thing transparent
使用这个:
Use this:
使用
ImageView
...它默认具有透明背景...Use
ImageView
... it have transparent background by default...我已经在背景中添加了一些东西,所以,这个东西对我有用:
(Android Studio 3.4.1)
编辑:仅适用于 android api 级别 21 及以上。为了兼容性,请改用它
I was already adding something to the background so , This thing worked for me:
(Android Studio 3.4.1)
EDIT: only works on android api level 21 and above. for compatibility, use this instead
您可以使用以下代码通过将背景设置为透明来正常工作:
You can use the following code works just fine by setting the background to transparent:
在 XML 中将 ImageButton 的背景设置为 @null
Set the background of the ImageButton as @null in XML
使用 "@null" 。这对我有用。
Use "@null" . It worked for me.
它是
android:background="@android:color/transparent"
It's
android:background="@android:color/transparent"
它可以工作并且还可以保留单击按钮的视觉反馈,
It works and also keeps visual feedback for button clicked,
您可以使用:
android:background="#00000000"
或android:backgroundTint="#00000000"
you can either use:
android:background="#00000000"
orandroid:backgroundTint="#00000000"
这是以编程方式将背景颜色设置为透明
This is programatically set background color as transparent
以编程方式可以通过以下方式完成:
Programmatically it can be done by :
如果您想在
.xml
中执行此操作,请使用以下代码:并且,这是以编程方式执行此操作的示例
If you want to do it in a
.xml
use the below code:And, here is an example of doing it programmatically
不要忘记添加填充,它有助于显示按钮效果。添加内边距以根据此背景进行调整。
Dont forget to add padding, it helps to show button effect. Add padding to adjust with this background.
我为
ImageButton
使用了透明的png
,并且ImageButton
工作了。I used a transparent
png
for theImageButton
, and theImageButton
worked.