Android Eclipse/editor显示一个透明视图,但在部署到设备时-没有透明性
我正在构建一个具有一定透明度的UI。我已经设法让不同的按钮和布局变得透明,所以当一个我想变得透明的视图开始表现出奇怪的行为时,我有点惊讶 在Eclipse中,当在“designer”中查看布局时,所讨论的视图显示为部分透明。但当我把它部署到一个设备(三星S2、安卓4)上时,那个特定的视图反而是纯黑色的 解释它是如何建造的有点混乱,但我会试试 首先,我希望它的外观(透明度,它在Eclipse中的外观): 这是部署到设备时的外观(无透明度): 第一个问题: 为什么Eclipse/designer与部署的版本不同?我已经清理了项目好几次,我重新启动了Eclipse等 下一步是查看结构是如何工作的 简化版: [activity_main]-->[LinearLayout]-->[包括“logobar”] “标识栏”如下所示:Android Eclipse/editor显示一个透明视图,但在部署到设备时-没有透明性,android,layout,transparency,android-view,Android,Layout,Transparency,Android View,我正在构建一个具有一定透明度的UI。我已经设法让不同的按钮和布局变得透明,所以当一个我想变得透明的视图开始表现出奇怪的行为时,我有点惊讶 在Eclipse中,当在“designer”中查看布局时,所讨论的视图显示为部分透明。但当我把它部署到一个设备(三星S2、安卓4)上时,那个特定的视图反而是纯黑色的 解释它是如何建造的有点混乱,但我会试试 首先,我希望它的外观(透明度,它在Eclipse中的外观): 这是部署到设备时的外观(无透明度): 第一个问题: 为什么Eclipse/designer
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:background="#80000000" >
<RadioGroup
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal" >
<!-- Here is the box, and then the green circle inside the box -->
<FrameLayout
android:layout_width="50dp"
android:layout_height="30dp"
android:layout_marginLeft="10dp"
android:background="@drawable/status_background"
android:padding="0dp" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bullet_ball_glass_green" />
</FrameLayout>
<!-- end of box -->
<ImageView
android:id="@+id/logo"
android:layout_width="220dip"
android:layout_height="55dip"
android:background="@android:color/transparent"
android:paddingLeft="10dp"
android:src="@drawable/logo_demo" >
</ImageView>
</RadioGroup>
</RelativeLayout>
这是可绘制的“状态背景”(分层以获得一些斜角效果):
第二个问题:
谁能告诉我我做错了什么吗谢谢像往常一样,在尝试了几个小时后,我去了心爱的Stackoverflow,并且,像以前一样,我在这里发布后不久就设法解决了这个问题(嗯,其中的一部分) 因此,我无法解释为什么Eclipse显示透明,但设备没有。奇怪的行为 但是,如果我按以下方式更改status_background,则它在两种情况下均有效:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="@android:color/transparent"/>
<stroke android:width="1px" android:color="#77000000" />
<corners android:radius="5dp"></corners>
</shape>
</item>
<item android:left="1dip" android:top="1dp">
<shape android:shape="rectangle" >
<solid android:color="@android:color/transparent"/>
<stroke android:width="1px" android:color="#77ffffff" />
<corners android:radius="5dp" ></corners>
</shape>
</item>
<item>
<shape android:shape="rectangle" >
<solid android:color="#11FFFFFF"/>
<corners android:radius="5dp" ></corners>
</shape>
</item>
</layer-list>
您尝试过做什么?注释掉第一个ImageView-仍为黑色?不然后添加android:background=“@android:color/transparent”设置工具:上下文。然后,exlipse将显示正确的主题以呈现布局@Leonidos我尝试过删除ImageView和其他一些东西,但没有跟踪我尝试过的所有东西,已经做了几个小时了…@Leonidos tools:context。。。然后呢?也指出它…?好的,我根本不能让“工具:上下文”出现…我刚刚发现了同样的东西)只有eclipse中的API 17显示了透明性。其他API级别使用黑色作为形状的默认填充颜色问题是现在我无法再创建“倒角效果”。。。笔划重叠,所以它现在只有一种颜色…我想你可以用9-patch图像制作它是的,9-patch的问题是。。。它们是图像=)我不想在这类事情上使用图像,看起来太过分了。我无法理解为什么Android团队没有添加一个简单的Android:stroke left=“1dp”或类似的东西,所以您可以定义每个bordes颜色、alpha等…关于9个补丁:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="@android:color/transparent"/>
<stroke android:width="1px" android:color="#77000000" />
<corners android:radius="5dp"></corners>
</shape>
</item>
<item android:left="1dip" android:top="1dp">
<shape android:shape="rectangle" >
<solid android:color="@android:color/transparent"/>
<stroke android:width="1px" android:color="#77ffffff" />
<corners android:radius="5dp" ></corners>
</shape>
</item>
<item>
<shape android:shape="rectangle" >
<solid android:color="#11FFFFFF"/>
<corners android:radius="5dp" ></corners>
</shape>
</item>
</layer-list>