【问题标题】:Android - How to Set a semi-transparent layout?Android - 如何设置半透明布局?
【发布时间】:2013-05-31 23:49:24
【问题描述】:

我是 android 应用程序的新手。

在这张图片中,有一个底部布局,带有播放,删除等选项,并具有透明度以显示其背景。

我怎么会这样?

【问题讨论】:

  • 兄弟,这不是ios UI。我从Google Play商店拿的。
  • Play 商店在我查看过的任何 Android 设备上看起来都不一样。如果是这样,那么 OEM 会得到 -1。这些都是 iOS 按钮,每一个。可能是三星设备?
  • 我不记得是哪个应用了。我只是在 Play 商店中截取了一个应用的屏幕截图。
  • 所以 -1 对于当时制作该应用程序的人。我只是说,不要跟随别人的坏设计。尝试坚持使用Android Design patterns

标签: java android


【解决方案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】:
      【解决方案5】:

      为您的背景使用具有透明度的 32 位 PNG(在这种特殊情况下,因为它没有统一的透明度)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-02
        • 1970-01-01
        • 2020-07-21
        • 1970-01-01
        • 2011-03-01
        • 1970-01-01
        • 2014-08-19
        • 1970-01-01
        相关资源
        最近更新 更多