0
  1. s JPEG 画像を表示します。
  2. 画像の上にボタンを表示して、ユーザーが画像を壁紙に設定できるようにします。
  3. ユーザー固有の Android フォンの表示サイズに合わせて画像のサイズを自動変更します。
  4. アプリがアンインストールされた場合、壁紙を削除します。

ステップ 1 と 2 はかなり簡単に実行できます。残りの 2 つのステップで行き詰っています。だれでも正しい方向に向けることができます。これがこれまでのコードです

public class MainActivity extends Activity implements OnClickListener {

    ImageView iv;
    Button b;
    Intent i;
    Bitmap bmp;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initialize();
        InputStream is = getResources().openRawResource(R.drawable.image);
        bmp = BitmapFactory.decodeStream(is);
    }
    private void initialize(){
        iv = (ImageView) findViewById(R.id.ivReturnedPic);
        b = (Button) findViewById(R.id.bSetWallpaper);
        b.setOnClickListener(this);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch(v.getId()){
        case R.id.bSetWallpaper:
            try {
                getApplicationContext().setWallpaper(bmp);
            } catch (IOException e) {

                e.printStackTrace();
            }
            break;
        }
    }

}
4

1 に答える 1

0

希望の画面サイズに壁紙を設定するには

WallpaperManager myWallpaperManager = WallpaperManager.getInstance(getApplication());
int height = myWallpaperManager.getDesiredMinimumHeight();
int width = myWallpaperManager.getDesiredMinimumWidth();

try {
    myWallpaperManager.setBitmap(Bitmap.createScaledBitmap(setAs, width , height , true));   
} catch (final IOException e) {
    Toast.makeText(getApplication(), "Error setting wallpaper", Toast.LENGTH_SHORT).show();
}

4番目の質問については、これを参照してください

于 2013-04-09T17:10:33.357 に答える