0

背景に問題があります。背景画像にグラデーションを設定すると、ひどい画像バンディングが発生します。ルート レイアウトで背景を設定するときは、次のようにします。

        android:background="@drawable/GradientImage" 

また、コードでルート レイアウトの背景を設定しようとしました (axml から背景を削除した後)。

        Window.SetFormat(Android.Graphics.Format.Rgbx8888); 
        Window.AddFlags(Android.Views.WindowManagerFlags.Dither); 

        BitmapFactory.Options options = new BitmapFactory.Options(); 
        options.InPreferredConfig = Bitmap.Config.Argb8888; 
        Bitmap gradient = BitmapFactory.DecodeResource(Resources, Resource.Drawable.Background_640,options); 
        sv.SetBackgroundDrawable(new BitmapDrawable(gradient)); 

これは OnCreate で行われますが、残念ながら問題は解決しません。

誰もこの問題に遭遇したことがありますか? これを修正する方法はありますか?

4

1 に答える 1

0

このコードは私のために機能します(onCreate()で)

getWindow().setFormat(PixelFormat.RGBA_8888);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DITHER);

また、PNG 画像を使用する場合は、32 ビットの色深度を使用していることを確認して
ください。一部の画像編集プログラムでは、デフォルトで 24 ビットとして保存されるためです。
たとえば、GIMP では、
アルファ チャネルを追加することで、PNG 画像を強制的に 32 ビットとして保存できます。

于 2012-06-27T12:58:04.787 に答える