当放置在不透明的ImageView上时,为什么我的带有alpha的ImageView不可见?

时间:2016-04-27 21:07:18

标签: android android-imageview transparency opacity

在我的Android应用中,我会将一张具有一定透明度的图像放在具有最大不透明度的背景上。为了尝试这个,我尝试创建一个相对布局,使用背景图像视图(创建背景,具有完全不透明度,alpha = 1),并在此图像视图上创建一个具有低不透明度值(alpha)的图像视图。并且,在相同的相对布局中,也是带有一些指示的文本视图。

很奇怪!在我的Android模拟器上,一切正常。但是在不止一个真实的设备中,我完全看到了背景图像视图和TextView,但第二个图像视图(低透明度图像的视图)完全不可见!为什么?谢谢,我复制了我的代码。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:layout_weight="1" android:id="@+id/controlImageView">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/controlImageViewBack"
        android:focusableInTouchMode="false"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:background="@drawable/bck_main"
        android:alpha="1"
        android:layout_weight="1"
        android:contentDescription="@string/desc_img_control_background"/>

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/controlImageViewPicture"
            android:scaleType="fitStart"
            android:src="@drawable/ctrl_bck"
            android:focusableInTouchMode="false"
            android:paddingTop="10dp"
            android:alpha="0.5"
            android:paddingBottom="10dp"
            android:layout_alignTop="@id/controlImageViewBack"
            android:contentDescription="@string/desc_img_control_picture"/>

        <TextView android:id="@+id/controlMessageText" android:layout_width="match_parent"
            android:layout_height="match_parent" android:layout_alignTop="@id/controlImageViewBack"
            android:textSize="@dimen/board_text_size"
            android:textColor="@color/colorButtonText"
            android:textAlignment="center" android:gravity="center"
            android:text="@string/mod_control_nomessage"/>

    </RelativeLayout>

2 个答案:

答案 0 :(得分:1)

解决!

来自日志:&#34; 05-01 12:46:12.288 24904-24904 / com.mycompany.myapp W / OpenGLRenderer:位图太大而无法上传到纹理(840x2524,max = 2048x2048)。很奇怪,但是我第一次看到在某些图形元素中插入太大的图像是不可能的。无论如何,非常感谢你的礼貌关注以及你努力帮助我的所有努力。

答案 1 :(得分:0)

首先,weight和layoutOrientation对相对布局没有任何影响!

本规范适用于我的Nexus 5X!

你使用什么真正的设备?