【问题标题】:How to make a linearLayout partially transparent in android?如何在android中使linearLayout部分透明?
【发布时间】:2013-11-01 17:21:11
【问题描述】:

我有一个 RelativeLayout 包含 2 个 LinearLayouts 其中一个部分覆盖了另一个。我想让顶部的LinearLayout 部分透明,这样我还可以看到第二个LinearLayout 知道我有2 个图像作为2 个LinearLayouts 的背景

【问题讨论】:

  • 所以你想要布局 1 的覆盖部分,它部分覆盖布局 2,透明?
  • @user2137817 你能发布你的布局代码吗?我需要你发布的同样的东西

标签: android android-linearlayout


【解决方案1】:

像这样设置背景颜色:

android:background="#00ffffff"

【讨论】:

    【解决方案2】:

    在你的布局中使用它

    android:alpha="0.5"
    

    0.0 完全透明,1.0 完全不透明。

    【讨论】:

    • 为什么我要找这样的答案半小时..?如此简单却又动人,太好了!
    • 好吧,这并没有持续多久......它在构建时失败了:“不允许使用字符串类型(在 'alpha' 处,值为 '0.5f')。”
    • 就像android:alpha="0.5"一样使用它
    【解决方案3】:

    将主题添加到需要在 Manifest 文件中透明的 Activity。

        <activity android:name=".YourActivity"
         android:theme="@android:style/Theme.Translucent">
       </activity>
    

    【讨论】:

      【解决方案4】:

      虽然来晚了,但对别人有帮助....

      像这样创建 xml 文件...

        <?xml version="1.0" encoding="utf-8"?>
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:orientation="vertical" 
          >
      
          <LinearLayout
              android:id="@+id/l1"
              android:layout_width="190dp"
              android:layout_height="match_parent"
              android:background="#234234"
              android:orientation="vertical" >
      
          <Button
              android:id="@+id/button1"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:onClick="onClickNext"
              android:text="Next >" />
          </LinearLayout>
      
          <LinearLayout
              android:id="@+id/l2"
              android:layout_width="wrap_content"
              android:layout_height="match_parent"
              android:layout_weight="1"
              android:alpha=".05"
              android:orientation="vertical" >
              </LinearLayout>
      
      </LinearLayout>
      

      现在转到您的清单...并添加此行...

      <activity android:name=".Activity" 
               android:theme="@android:style/Theme.Translucent">
      

      尽情享受吧……

      【讨论】:

        【解决方案5】:

        当我们设置颜色时,它类似于 ARGB(Alpha Red Green Blue)。您需要更改颜色代码中的 alpha 以增加或减少透明度的量

        范围可以从 00 到 FF(十六进制)

        为了最大透明度 => #00555555(这里 00 代表 alpha)

        为了最小或没有透明度 => #FF555555(这里 FF 代表 alpha)

        所以,要设置 ImageView 的透明度,您可以编写如下代码:

        ImageView image = (ImageView) findViewById(R.id.myImage);
        image.setAlpha(0.3);
        

        此外,您可以像这样为您的 LinearLayout 设置 alpha

        LinearLayout ll = (LinearLayout) findViewById(R.id.linearlayout);
        ll.setAlpha(0.4);
        

        【讨论】:

        • 问题是,如果我将 alpha 更改为线性布局,孩子们也会是透明的,我不希望这样
        • 然后让你的 LinearLayout 透明。然后添加一个 ImageView 并控制该 ImageView 的透明度。
        • 我的问题是孩子们,我在 linealayout 中有文本视图,如果我修改 alpha 值,文本视图也会变得透明
        • 正确阅读我之前的评论。您需要添加一个 ImageView 来包含图像,并在其上方放置 TextViews。
        • 这不是我真正想要的,但足够接近,谢谢
        【解决方案6】:

        让您的LinearLayout 背景透明:

        android:background="@android:color/transparent"
        

        为了让你的布局部分透明,也许这个链接可以帮助你:How to create View partially invisible

        编辑:如果您有一个图像作为布局的背景,那么我认为您可以为您的 LinearLayout 设置 alpha 并从代码控制它而不改变您的背景,以使用背景图像透明您的布局:

        android:alpha=""
        
        alpha property of the view, as a value between 0 (completely 
        transparent) and 1 (completely opaque)
        

        【讨论】:

          【解决方案7】:

          设置顶部线性布局的背景为

          background="#CCFFFFFF" 在您的 layout.xml 文件中

          在此处“CC”更改 alpha 模式以获得更高的透明度。

          (“00”为全透明)

          https://stackoverflow.com/a/4990254/665561

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-12-05
            • 1970-01-01
            • 2011-04-22
            • 2016-07-29
            相关资源
            最近更新 更多