如果有人(像我一样)仍然有滑动菜单和背景图像的问题,我会尝试解释我如何解决这个问题。@netis 解决方案对我没有帮助。如您所知,如果您不在幻灯片菜单中使用背景,问题就会消失,因此我们需要使用其他东西而不是标准的 android 背景。我用TextureView
这个。在我的 xml 菜单中,我添加了:
<TextureView
android:id="@+id/menu_texture_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
在添加初始化菜单时的活动代码中:
final TextureView texture = (TextureView) menuView.findViewById(R.id.menu_texture_view);
final Drawable picture = getResources().getDrawable(R.drawable.menu_background);
texture.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() {
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
Canvas canvas = texture.lockCanvas();
picture.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
picture.draw(canvas);
texture.unlockCanvasAndPost(canvas);
}
@Override
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
}
@Override
public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
return false;
}
@Override
public void onSurfaceTextureUpdated(SurfaceTexture surface) {
}
});
基本上,我们将背景放入TextureView
而不是使用标准的 android 方式(android:background
等imageVew
)。
另外作为建议,您需要为所有 dpi(mdpi、hpdi、...)添加背景以获得更好的性能。
我知道这是一个丑陋的解决方案,但是当没有其他方法无济于事时,它对我有用......