Android 是否将图像保存到我自己的目录?图像是否适合屏幕大小?

Android 是否将图像保存到我自己的目录?图像是否适合屏幕大小?,android,imageview,wallpaper,Android,Imageview,Wallpaper,我正在实现一个壁纸应用程序。它有很多大约100张的图片 1我想用一个单独的文件夹将这些图像保存在gallery中。 2当设置为壁纸时,图像缩放的大小如何适应屏幕大小 我曾经 它存储在一个名为camera的文件夹中,但我需要自己的directoy名称 我尝试了很多方法,多次搜索以使图像适合屏幕大小 我使用了显示度量,比如 Bitmap bmap2 =BitmapFactory.decodeStream(getResources().openRawResource(R.drawable.paper)

我正在实现一个壁纸应用程序。它有很多大约100张的图片

1我想用一个单独的文件夹将这些图像保存在gallery中。 2当设置为壁纸时,图像缩放的大小如何适应屏幕大小

我曾经

它存储在一个名为camera的文件夹中,但我需要自己的directoy名称

我尝试了很多方法,多次搜索以使图像适合屏幕大小

我使用了显示度量,比如

Bitmap bmap2 =BitmapFactory.decodeStream(getResources().openRawResource(R.drawable.paper)); 


DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels; 
int width = metrics.widthPixels;
Bitmap bitmap = Bitmap.createScaledBitmap(bmap2, width, height, true); 

WallpaperManager wallpaperManager = WallpaperManager.getInstance(MainActivity.this); 
try {
 wallpaperManager.setBitmap(bitmap);
 } catch (IOException e) {
 e.printStackTrace();
 }  
和其他一些dispaly指标,但都不起作用。。 因为我有很多图像,我用了一个开关盒

我使用的是一个水平滚动视图,当点击这里的图像时,图像就会出现。 它进入主视图,在它下面我有一个设置壁纸按钮

我的代码

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    display = (ImageView) findViewById(R.id.imageView1);
    ImageView image1 = (ImageView) findViewById(R.id.imageView11);
    ImageView image2 = (ImageView) findViewById(R.id.imageView2);
    ImageView image3 = (ImageView) findViewById(R.id.imageView3);
    ImageView image4 = (ImageView) findViewById(R.id.imageView4);
    ImageView image5 = (ImageView) findViewById(R.id.imageView5);
    ImageView image6 = (ImageView) findViewById(R.id.imageView6);

    ImageView image7 = (ImageView) findViewById(R.id.imageView7);
    ImageView image8 = (ImageView) findViewById(R.id.imageView8);
    ImageView image9 = (ImageView) findViewById(R.id.imageView9);
显示是主要的图像视图 图像1,图像2。。。。图像是否在水平滚动视图中

我使用了一个开关盒将水平视图图像设置为主图像视图

public void onClick(View v) {

    switch (v.getId()) {

     case R.id.imageView11:
        wallpaper.setEnabled(true);

        display.setImageResource(R.drawable.w1);
        tophone = R.drawable.w1;

        break;
    case R.id.imageView2:
        wallpaper.setEnabled(true);

        display.setImageResource(R.drawable.w2);
        tophone = R.drawable.w2;

        break;
    case R.id.imageView3:
        wallpaper.setEnabled(true);
        display.setImageResource(R.drawable.w3);
        tophone = R.drawable.w3;

        break;
当点击“设置墙纸”时

case R.id.button1:

        img = BitmapFactory.decodeStream(getResources().openRawResource(
                tophone));
        try {
            WallpaperManager.getInstance(getApplicationContext())
                    .setBitmap(img);
            Toast showtoast = Toast.makeText(getApplicationContext(),
                    "Wallpaper Set", Toast.LENGTH_SHORT);
            showtoast.show();
            break;

        } catch (Exception m) {

        }
        img = BitmapFactory.decodeStream(getResources().openRawResource(
                tophone));
        try {
            WallpaperManager.getInstance(getApplicationContext())
                    .setBitmap(img);
            Toast showtoast = Toast.makeText(getApplicationContext(),
                    "Wallpaper Set", Toast.LENGTH_SHORT);
            showtoast.show();
            break;

        } catch (Exception m) {

        }
谁能帮帮我吗。。 我从一周以来一直在尝试这两种解决方案

case R.id.button1:

        img = BitmapFactory.decodeStream(getResources().openRawResource(
                tophone));
        try {
            WallpaperManager.getInstance(getApplicationContext())
                    .setBitmap(img);
            Toast showtoast = Toast.makeText(getApplicationContext(),
                    "Wallpaper Set", Toast.LENGTH_SHORT);
            showtoast.show();
            break;

        } catch (Exception m) {

        }
        img = BitmapFactory.decodeStream(getResources().openRawResource(
                tophone));
        try {
            WallpaperManager.getInstance(getApplicationContext())
                    .setBitmap(img);
            Toast showtoast = Toast.makeText(getApplicationContext(),
                    "Wallpaper Set", Toast.LENGTH_SHORT);
            showtoast.show();
            break;

        } catch (Exception m) {

        }