【问题标题】:Android prompting to save image or set wallpaper from gridviewAndroid提示从gridview保存图像或设置壁纸
【发布时间】:2013-08-30 19:06:24
【问题描述】:

我希望用户在单击所选图像后获得该选项,以将图像设置为他们的壁纸或将其保存到他们的 SD 卡中。

这是我第一次这样做,所以我需要一些指导。我查看了与此类似的其他问题,但每个人都使用与我设置显示图像的方法不同的方法。

提前致谢,代码如下:

Displayimagesin的AdapterView:

package com.question;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class AdapterViewADV extends BaseAdapter {
private Context mContext;


public Integer[] mThumbIds = {
    R.drawable.Image1,
    R.drawable.Image2,
    R.drawable.Image3,
    R.drawable.Image4,
    R.drawable.Image5,
    R.drawable.Image6

};


public AdapterViewADV(Context c){
mContext = c;
}

@Override
public int getCount() {
return mThumbIds.length;
}

@Override
public Object getItem(int position) {
return mThumbIds[position];
}

@Override
public long getItemId(int position) {
return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = null;
if(convertView == null){
   imageView = new ImageView(mContext);imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
   imageView.setLayoutParams(new GridView.LayoutParams(NO_SELECTION, NO_SELECTION));
   convertView = imageView;
}else{
    imageView = (ImageView)convertView;
}
imageView.setImageResource(mThumbIds[position]);

return convertView;


       } 
}

显示图像的类:

package com.question;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.Toast;

public class Displayimagesin extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_battlefield4);

    GridView gridView = (GridView) findViewById(R.id.grid_view);

    // Instance of ImageAdapter Class
    gridView.setAdapter(new AdapterViewADV(this));

    gridView.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v,
                int position, long id) {

            Toast.makeText(Displayimagesin.this, "Wallpaper set",
                    Toast.LENGTH_SHORT).show();

        }
    });
}

}

【问题讨论】:

  • 你收到吐司消息了吗??
  • 是的,我收到了 toast 消息。
  • 使用 WallpaperManager 设置壁纸
  • 您是否在带有壁纸的新活动中显示您选择的图像???
  • 是的,我正在“Displayimagesin”活动中显示图像

标签: java android wallpaper


【解决方案1】:

通过调用WallpaperManager 设置壁纸。 将您的图片引用到Bitmap。 像这样的

WallpaperManager wm=WallpaperManager.getInstance(this);
wm.setBitmap(bitmap);

并在清单文件中添加权限

android.permission.SET_WALLPAPER

希望对你有帮助。

【讨论】:

    【解决方案2】:

    尝试使用 WallpaperManager 设置壁纸

            WallpaperManager myWallpaperManager=WallpaperManager.getInstance(getApplicationContext());            
    
                myWallpaperManager.setResource(mThumbIds[curruntPosition]);
    

    【讨论】:

    • 添加带有两个按钮设置壁纸的警报对话框并保存。如果单击 setwallpaper,请尝试使用此代码进行设置
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-26
    • 2011-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多