連絡先のAndroidアプリケーションでアバターを設定するようなアクティビティを作りたいです。コーナーにタッチすることで選択領域のサイズを変更できます(左上と右下)。どうすればそのように実装できますか?
アドバイスをください。
どうもありがとうございました。
編集:このようにしたい: この写真のようです
私の問題は、イベントの作成方法がわからないことです。タッチしてから、選択領域をドラッグします。
あなたが言及したトリミング機能を使用できます。ギャラリーが開き、画像を選択して特定の領域を選択できます。
Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);
intent.setType("image/*");
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 96);
intent.putExtra("outputY", 96);
try {
intent.putExtra("return-data", true);
startActivityForResult(intent, PICK_REQUEST);
}
catch (ActivityNotFoundException e) {
new AlertDialog.Builder(OptionenActivity.this)
.setTitle("Error")
.setMessage("An error occured")
.setPositiveButton(android.R.string.ok, null).show();
}
そして、経由して結果を取得しますonActivityResult
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
if (resultCode != RESULT_OK)
return;
switch (requestCode) {
case PICK_REQUEST:
final Bundle extras = imageReturnedIntent.getExtras();
if (extras != null) {
Bitmap image = extras.getParcelable("data");
Toast.makeText(this, "Success", Toast.LENGTH_SHORT).show();
}
break;
}
}
編集:
あなたはこれを得るでしょう:
フレームレイアウトでonDrawメソッドを使用する
これで、2つのオプションがあり、frameLayoutのサイズを変更するか、ondrawメソッドでサイズを変更します。