(私のような) 誰かがまだスライド メニューと背景画像に問題がある場合は、この問題を解決する方法を説明しようとします。@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、...) の背景を追加する必要があります。
私はそれが醜い解決策であることを知っていますが、他に何も役に立たなかったときに私にとってはうまくいきます...