Android - 如何设置半透明布局?
Posted
技术标签:
【中文标题】Android - 如何设置半透明布局?【英文标题】:Android - How to Set a semi-transparent layout? 【发布时间】:2013-05-31 23:49:24 【问题描述】:我是 android 应用程序的新手。
在这张图片中,有一个底部布局,带有播放,删除等选项,并具有透明度以显示其背景。
我怎么会这样?
【问题讨论】:
兄弟,这不是ios UI。我从Google Play商店拿的。 Play 商店在我查看过的任何 Android 设备上看起来都不一样。如果是这样,那么 OEM 会得到 -1。这些都是 iOS 按钮,每一个。可能是三星设备? 我不记得是哪个应用了。我只是在 Play 商店中截取了一个应用的屏幕截图。 所以 -1 对于当时制作该应用程序的人。我只是说,不要跟随别人的坏设计。尝试坚持使用Android Design patterns。 【参考方案1】:使用android:background ="#88676767"
将第一个88更改为您选择的不透明度
回复您的评论:
ImageView iv = (ImageView) findViewById(your_imageId);
iv.setColorFilter(Color.argb(150, 155, 155, 155), Mode.SRC_ATOP);
第三个选项:
LinearLayout layout = (LinearLayout) findViewById(R.id.your_id);
Drawable d = getResources().getDrawable(R.relevant_drawable);
d.setAlpha(50);
layout.setBackgroundDrawable(d);
【讨论】:
是的,我明白你的意思。我为该布局设置了背景图像,例如 android:background="@drawable/myimage" 。然后如何再次为 android:background ="#88676767" 提供另一个属性。 我在答案中添加了另一个选项 您对setAlpha
的使用似乎不正确。根据developer.android.com/reference/android/view/…,它应该是一个介于 0 和 1 之间的值
有 2 个 setAlpha:(int alpha) 的参数在 0 到 255 之间。来自文档: alpha 应用于视图绘图的 alpha (0..255)。
我将不得不对此投反对票。这不能正常工作。它给了我一个没有半透明的灰色背景【参考方案2】:
颜色格式为 ARGB,表示 ALPHA/RED/GREEN/BLUE。
透明度设置在 Alpha 通道上,值为 0 (0x00) 为完全透明,值为 255 (0xFF) 为完全不透明。
所以如果你需要半透明的灰色,那么设置这个颜色:#80444444
【讨论】:
【参考方案3】:设置 alpha 值也非常容易,这是两种方法之一。我的示例将 60% 不透明的黑色背景应用于线性布局。
第一种方法是添加以下行来更改 XML 文件中布局的 alpha(也在图像中):
android:background="@android:color/black"
android:alpha="0.6"
第二种方法是在设计编辑器视图中更改 alpha 和背景值:
【讨论】:
【参考方案4】:参考这些链接:
1.How to Set Opacity (Alpha) for View in Android
2. Android: how to create transparent or opeque background
【讨论】:
【参考方案5】:为您的背景使用具有透明度的 32 位 PNG(在这种特殊情况下,因为它没有统一的透明度)
【讨论】:
以上是关于Android - 如何设置半透明布局?的主要内容,如果未能解决你的问题,请参考以下文章