微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我想知道为什么我的壁纸尺寸在主屏幕上变大了,但它在锁屏上很合适,请帮我解决这个问题,这是我的第一个项目,我是 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 举报,一经查实,本站将立刻删除。