我想在联系人 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 方法中更改大小