2

私は現在、私が作成したAndroidの壁紙アプリを使用して、携帯電話の背景を設定しようとしています。ただし、「背景の設定」を押すたびに、画像が引き伸ばされます。

これが私が使用しているコードです

btnSetWallpaper.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                WallpaperManager wManager;

                try {

                    //  Bitmap bitmap = ((BitmapDrawable)imageView1.getDrawable()).getBitmap();
                    wManager = WallpaperManager.getInstance(view.getContext().getApplicationContext());

                    Display display = getWindowManager().getDefaultDisplay();
                    Point size = new Point();
                    display.getSize(size);
                    int fullWidth = size.x;
                    int fullHeight = size.y;

                    //int fullWidth   = wManager.getDesiredMinimumWidth();
                    //int fullHeight  = wManager.getDesiredMinimumHeight();

                    Log.d("Debug", Integer.toString(fullWidth));
                    Log.d("Debug", Integer.toString(fullHeight));

                    Bitmap bitmapResized = Bitmap.createScaledBitmap(bmpWallpaper, fullWidth * 2, fullHeight, true);
                    wManager.setBitmap(bitmapResized);


                } catch (IOException e) {
                    e.printStackTrace();
                }

                Core.makeNotification(view.getContext(), "MyNotification", "Your wallpaper has been set, enjoy!");
                Core.makeAlert(view.getContext(), "Wallpaper set", "Your wallpaper has been set, enjoy!");

            }
        });
4

1 に答える 1

2

さて、bakriOnFire からのコメントの後、彼がくれたリンクを検索したところ、私のコードの一部とそこで説明されているコードを組み合わせた後、解決策が見つかりました!

 btnSetWallpaper.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                try {
                    WallpaperManager wManager = WallpaperManager.getInstance(view.getContext());

                    Display display = getWindowManager().getDefaultDisplay();
                    Point size = new Point();
                    display.getSize(size);
                    int fullWidth = size.x;
                    int fullHeight = size.y;

                    //int fullWidth   = wManager.getDesiredMinimumWidth();
                    //int fullHeight  = wManager.getDesiredMinimumHeight();

                    Log.d("Debug", Integer.toString(fullWidth));
                    Log.d("Debug", Integer.toString(fullHeight));


                    Bitmap bitmapResized = Bitmap.createScaledBitmap(bmpWallpaper, fullWidth, fullHeight, true);
                    wManager.suggestDesiredDimensions(bitmapResized.getWidth(), bitmapResized.getHeight());

                    wManager.setBitmap(bitmapResized);



                } catch (IOException e) {
                    e.printStackTrace();
                }

                Core.makeNotification(view.getContext(), "MCPaper", "Your wallpaper has been set, enjoy!");
                Core.makeAlert(view.getContext(), "Wallpaper set", "Your wallpaper has been set, enjoy!");

            }
        });

私はこれに長い時間を費やしてきたので、将来これが人々を助けることを本当に願っています. 楽しい

于 2013-08-26T10:18:44.093 に答える