我一直在我的应用程序中使用no-dpi drawables来处理平铺背景并且效果很好,但是当我在main-activity的onCreate中启动另一个活动时它会失败。
在模拟器中不会发生此行为,这会导致我认为它与设备相关。我正在使用三星Galaxy Note来测试(Android 2.3.6)。
出于调试目的,我创建了一个新项目,将tile.png添加到drawable-nodpi文件夹,在drawable文件夹中创建了bg_tile.xml,并将main.xml布局文件中的背景设置为“@ drawable / bg_tile“
到目前为止一切顺利:
http://i.stack.imgur.com/FGrr1.png
现在我已将 main.xml 复制到 secondary.xml ,并创建了另一个使用secondary.xml的活动。
要打开辅助活动,我已将其添加到主要活动的onCreate中:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent activityIntent = new Intent(this, NoDPISecondaryActivity.class);
this.startActivity(activityIntent);
}
辅助活动应显示与主活动中相同的平铺背景,但它会缩放drawable:
http://i.stack.imgur.com/9Xwwp.png
这只是三星相关的东西,我必须学会与之共处,或者有人知道发生了什么以及如何解决这种行为?
我的观察:
按“返回”返回主活动,正确显示平铺背景。
此外,当我使用带有OnClickListener的按钮启动它时,辅助活动正确显示
bg_tile.xml 文件的内容:
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/tile"
android:tileMode="repeat" />
答案 0 :(得分:0)
将Galaxy Note更新到Android 4.0后,这已解决。看起来这是供应商/设备特定的错误。