无法在Java-Android中设置两次背景属性(图像+颜色)

时间:2013-10-25 14:48:55

标签: java android relativelayout setbackground

我已经发布了一个相关的问题,但已经部分解决了,所以在这里我将向您展示整个代码。

问题是我无法从白色的RelativeLayout设置背景,例如,通过java代码同时设置后台资源(.PNG文件)并合并它们。

.PNG图像是游戏屏幕的一部分原型,具有透明空间。我想要获得的是用白色显示这个背景,因为有黑色的细节无法看到,因为我预先建立的背景是黑色的(我猜想初始主题)。

以下代码对应于XML文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/id_act_principal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/white"
    android:keepScreenOn="true"
    tools:context=".Principal" >

.java文件:

@Override
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_principal);

        RelativeLayout fondo = (RelativeLayout) findViewById(R.id.id_act_principal);
        fondo.setBackgroundResource(R.drawable.prototipoestructurapantalla);

        }

.java文件正确设置背景图像,但在XML文件中设置为显示白色背景,但不显示。它一直是黑色的。

我希望你能帮助我。

2 个答案:

答案 0 :(得分:1)

试试这个:
创建一个名为image_with_white_backgroud.xml的drawable:

<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item >
        <shape >
            <solid android:color="@android:color/white"/>
        </shape>
    </item>
    <item>
        <bitmap
            android:src="@drawable/prototipoestructurapantalla"/>
    </item>
</layer-list>  

在RelativeLayout中,将android:background="@android:color/white"替换为android:background="@drawable/image_with_white_backgroud"

答案 1 :(得分:0)

一次只能有一个背景,请尝试保留relativelayout,然后为png插入ImageView。