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 - 如何设置半透明布局?的主要内容,如果未能解决你的问题,请参考以下文章

半透明状态栏使布局越界(显示后面的视图)

Android 透明度设置详解

android将工具栏扩展到半透明状态栏,同时将其他布局对象保留在系统视图中

Android中的半透明状态栏

无法将状态栏颜色更改为半透明黑色 [重复]

Android布局设置背景的透明度