背景drawable不在真实设备中显示

时间:2013-12-19 07:48:01

标签: java android eclipse android-layout user-interface

请查看以下XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:background="@drawable/background_main" >
</RelativeLayout>

当我运行它时,所有的铃声都很完美,主要布局的背景图像也会显示在模拟器中。但是,当我在手机中运行此代码时,背景图像丢失了!怎么了?

2 个答案:

答案 0 :(得分:1)

我自己发现了这个问题。我的应用程序支持多屏幕,因此我必须将这些图像(具有不同大小)放入所有相关的可绘制文件夹中。

答案 1 :(得分:0)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:background="@drawable/background_main" >

xmlns:工具很可能用于工具UI编辑器用于渲染布局的活动(它将根据活动找到正确的主题)。 所以,如果你可以删除工具 或者在.MainActivity java类中。定义你的背景来源。

//outside your onCreate
RelativeLayout relativeLayout;
Context ctx;

//inside your onCreate
relativeLayout = new RelativeLayout(this);
relativeLayout.setBackgroundResource(R.drawable.background_main);
setContentView(relativeLayout);