Java 如何在android中拍照并替换图像
我有一个浮动操作按钮(FAB),当我按下FAB时,它将出现在对话框布局中。如何拍摄图片,然后用单击按钮文本名称“shot”时拍摄的图片替换ImageView 这里是我的FAB活动_store.xml:Java 如何在android中拍照并替换图像,java,android,Java,Android,我有一个浮动操作按钮(FAB),当我按下FAB时,它将出现在对话框布局中。如何拍摄图片,然后用单击按钮文本名称“shot”时拍摄的图片替换ImageView 这里是我的FAB活动_store.xml: <RelativeLayout android:layout_width="match_parent" android:layout_height="91dp" android:layout_below="@+id/listviewLayout
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="91dp"
android:layout_below="@+id/listviewLayout">
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fabAdd"
android:layout_width="77dp"
android:layout_height="91dp"
android:layout_alignParentRight="true"
android:backgroundTint="@color/white"
android:src="@drawable/ic_plus"
app:elevation="6dp"
app:fabSize="normal"
android:layout_marginRight="20dp"
android:onClick="addStock"/>
</RelativeLayout>
抱歉英语不好。打开相机
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, PICK_FROM_CAMERA);
添加权限
<uses-permission android:name="android.permission.CAMERA" />
然后从ActivityResult上获取数据,并将其设置为imageView,首先您必须在清单中使用相机权限
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera"
android:required="true" />
然后在onActivityResult中处理数据并设置为图像视图
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
imageView.setImageBitmap(imageBitmap);
}
}
你可以在这里找到更多信息
我希望能帮上忙我可以把打开的摄像头代码放在哪里?在public void addStock内?@pohongems,如果您想从alertDialog打开它。。所以把openCamera放在alertDialog的正面按钮中
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera"
android:required="true" />
int REQUEST_IMAGE_CAPTURE=2001
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
imageView.setImageBitmap(imageBitmap);
}
}