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