从画廊集应用背景 [英] set app background from gallery

查看:157
本文介绍了从画廊集应用背景的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经得到了使用共享preferences设置从几pre确定的图像背景的应用程序,但我想,让用户能够从他们自己的相册中选择一个图片。我怎样才能做到这一点?

code如下:

  INT李明博;
诠释EM;
INT LO;
INT同寝。
共享preferences数据;
公共静态字符串文件名=BG;@覆盖
公共无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    LO = R.layout.main;
    数据= getShared preferences(文件名,0);
    躺在= data.getInt(糊涂人,LO);
    的setContentView(铺设);    EM = R.drawable.bakgrund;
    数据= getShared preferences(文件名,0);
    李明博= da​​ta.getInt(bakgrund,EM);}@覆盖
保护无效onResume(){
    // TODO自动生成方法存根
    super.onResume();
    RelativeLayout的BG =(RelativeLayout的)findViewById(R.id.might);
    bg.setBackgroundResource(BAK);


解决方案

 意向意图=新的Intent();
intent.setType(图像/ *);
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(意向,选择图片),0);

在onCreate方法将这些行添加到您的画廊选择一个图像:::

和也低于OnCreate中添加这些方法::::

  @覆盖
保护无效的onActivityResult(INT申请code,INT结果code,意图数据){
开关(要求code){
情况下0:data.getDataString()
如果(结果code == RESULT_OK){
尝试{
位图的位图= MediaStore.Images.Media.getBitmap(_activity.getContentResolver(),data.getDataString());
RelativeLayout的BG =(RelativeLayout的)findViewById(R.id.might);
可绘制可绘制=新BitmapDrawable(getResources(),位图);
bg.setBackgroundDrawable(绘制);
}赶上(FileNotFoundException异常五){
// TODO自动生成catch块
e.printStackTrace();
}赶上(IOException异常五){
// TODO自动生成catch块
e.printStackTrace();
}
打破;
}
}
}

在下面manifeast文件权限:

 <使用许可权的android:NAME =android.permission.READ_EXTERNAL_STORAG​​E/>

I've got an app using shared preferences to set the background from a few pre-determined images, but I'd like to allow the user to be able to pick an image from their gallery. How can I do this?

Code below:

int bak;
int em;
int lo;
int lay;
SharedPreferences data;
public static String filename = "bg";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    lo = R.layout.main;
    data = getSharedPreferences(filename, 0);
    lay = data.getInt("lout", lo);          
    setContentView(lay);

    em = R.drawable.bakgrund;
    data = getSharedPreferences(filename, 0);
    bak = data.getInt("bakgrund", em);

}

@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    RelativeLayout bg = (RelativeLayout) findViewById(R.id.might);
    bg.setBackgroundResource(bak);

解决方案

Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"),0);

in oncreate method add these lines to pick an image from your gallery:::

and also below oncreate add these method::::

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case 0:data.getDataString()
if (resultCode == RESULT_OK) {
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(_activity.getContentResolver(), data.getDataString());
RelativeLayout bg = (RelativeLayout) findViewById(R.id.might);
Drawable drawable = new BitmapDrawable(getResources(), bitmap);
bg.setBackgroundDrawable(drawable);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
}
}
}

below permission in manifeast file::

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

这篇关于从画廊集应用背景的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆