当我为家设置墙纸时,它在主屏幕上不适合,在锁定屏幕上工作正常有什么解决方案吗?

问题描述

我想知道为什么我的壁纸尺寸在主屏幕上变大了,但它在锁屏上很合适,请帮我解决这个问题,这是我的第一个项目,我是 android 开发的新手,我在 youtube 上搜索过,但是我没有得到任何关于它的代码

    public class FullImageActivity extends AppCompatActivity {
    private ImageView fullImage;
    private Button buttonHomeScreen,buttonLockScreen;
    WallpaperManager wallpaperManager;
    Bitmap bitmap;
    displayMetrics displayMetrics;
    BitmapDrawable bitmapDrawable;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_full_image);
    getwindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    getSupportActionBar().hide();
    fullImage = findViewById(R.id.fullImage);
    buttonHomeScreen = findViewById(R.id.setHomeScreen);
    buttonLockScreen = findViewById(R.id.setLockScreen);
    Glide.with(this).load(getIntent().getStringExtra("image")).centerCrop().into(fullImage);
    buttonHomeScreen.setonClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    setWallpaper("Home");
    }
    });
    buttonLockScreen.setonClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    setWallpaper("Lock");
    }
    });
    }private void setWallpaper(String type) {
    int[] size = getScreenSize();
    wallpaperManager = WallpaperManager.getInstance(getApplicationContext());
    bitmapDrawable = (BitmapDrawable) fullImage.getDrawable();
    bitmap = bitmapDrawable.getBitmap();
    bitmap = Bitmap.createScaledBitmap(bitmap,size[0],size[1],false);
    try {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
    if (type.equals("Lock")) {
    wallpaperManager.setBitmap(bitmap,null,true,WallpaperManager.FLAG_LOCK);
    Toast.makeText(this,"Lock Screen Wallpaper Set",Toast.LENGTH_SHORT).show();
    } else {
    wallpaperManager.setBitmap(bitmap,WallpaperManager.FLAG_SYstem);
    Toast.makeText(this,"Home Screen Wallpaper Set",Toast.LENGTH_SHORT).show();
    }
    wallpaperManager.suggestDesiredDimensions(size[0],size[2]);
    } else {
    wallpaperManager.setBitmap(bitmap);
    Toast.makeText(this,"Wallpaper Set",size[2]);
    } catch (Exception e) {
    e.printstacktrace();
    }
    }
    private int[] getScreenSize() {
    displayMetrics = new displayMetrics();
    getwindowManager().getDefaultdisplay().getMetrics(displayMetrics);
    int[] size = new int[2];
    size[0] = displayMetrics.widthPixels;
    size[1] = displayMetrics.heightPixels;
    return size;
    }
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)