2013-08-01 2 views
0

나는 우리 자신의 pix에 리플 효과가있는 라이브 벽지를 만들고 싶습니다. 첫 번째 메시지는 - iemageview에서 선택한 배경 화면을 설정하는 방법입니다. 및 리플 효과를 만드는 방법안드로이드에서 자신의 그림에 잔물결 효과를 설정

import java.io.IOException;

import android.app.Activity; 
import android.app.WallpaperManager; 
import android.content.Intent; 
import android.database.Cursor; 
import android.graphics.BitmapFactory; 
import android.net.Uri; 
import android.os.Bundle; 
import android.provider.MediaStore; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemSelectedListener; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.ImageView; 
import android.widget.Spinner; 
import android.widget.Toast; 

public class MainActivity extends Activity { 


private static int RESULT_LOAD_IMAGE = 1; 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Button b =(Button) findViewById(R.id.settings); 

    b.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      WallpaperManager myWallpaperManager 
      = WallpaperManager.getInstance(getApplicationContext()); 
      try { 
       myWallpaperManager.setResource()); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      }}); 



    Button buttonLoadImage = (Button) findViewById(R.id.setw); 

    buttonLoadImage.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 

      Intent i = new Intent(
        Intent.ACTION_PICK, 
        android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 

      startActivityForResult(i, RESULT_LOAD_IMAGE); 
     } 
    }); 
} 


@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) { 
     Uri selectedImage = data.getData(); 
     String[] filePathColumn = { MediaStore.Images.Media.DATA }; 

     Cursor cursor = getContentResolver().query(selectedImage, 
       filePathColumn, null, null, null); 
     cursor.moveToFirst(); 

     int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
     String picturePath = cursor.getString(columnIndex); 
     cursor.close(); 

     ImageView imageView = (ImageView) findViewById(R.id.imgView); 
     imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath)); 

    } 


} 

} 배경 화면으로 이미지 설정에 대한

답변

0

,

  1. 당신의 ListView 얻을 절대의 onClickListener에서 매니페스트 파일

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

  2. 이 추가 길의 이미지와 다음 코드를 사용하여 벽지로 설정

    WallpaperManager wpm = WallpaperManager.getInstance(context); InputStream ins = new URL("absolute/path/of/image").openStream(); wpm.setStream(ins);

+0

메신저리스트 뷰를 사용하지. button1 갤러리에서 emage를로드하고 imageview ..에 붙여 넣습니다 어떻게 emage의 절대 경로를 얻을 수 있을까요 ??? – user2318214

+0

당신은 당신의 프로그램에서 절대 경로를 얻었습니다. 'onActivityResult()'의 변수'picturePath'는 절대 경로를 나타냅니다. –

관련 문제