java - android 如何让 float 按钮消失?

标签 java android android-button onactivityresult

我有一个简单的 float 按钮,可以打开相机,然后在主 Activity 中显示图像。

我想在用户检索图像结果后立即删除该 float 按钮,因此它应该是在 scannedImageView.setImageBitmap(bitmap) 之后的 onActivityResult

我尝试使用 btnFloat.setVisibility(View.GONE); 但由于它是一个 float 按钮,我不知道如何在我的方法中调用它。

主要 Activity

ImageView scannedImageView;

public void init() {
FloatingActionButton fab = findViewById(R.id.fab_capture);
}

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     super.onActivityResult(requestCode, resultCode, data);
     if (resultCode == Activity.RESULT_OK && data != null) {
         if (requestCode == OPEN_THING) {
             Uri uri = data.getExtras().getParcelable(ScanConstants.SCANNED_RESULT);
             Bitmap bitmap = null;
             try {
                 bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
                 getContentResolver().delete(uri, null, null);
                 scannedImageView.setImageBitmap(bitmap);
               //btnFloat.setVisibility(View.GONE);
                 FileOutputStream outputStream = null;
                 File sdCard = new File(getExternalFilesDir(null).getAbsolutePath());
                 File directory = new File (sdCard.getAbsolutePath() +"/Scan Documents");
                 directory.mkdir();

                 String filename = String.format("d.jpg", System.currentTimeMillis());
                 File outFile = new File(directory, filename);

                 Toast.makeText(this, "Image Saved Successfully", Toast.LENGTH_SHORT).show();

                 Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
                 intent.setData(Uri.fromFile(outFile));
                 sendBroadcast(intent);

                 try{
                     outputStream = new FileOutputStream(outFile);
                     bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream);
                     outputStream.flush();
                     outputStream.close();

                 }catch (FileNotFoundException e)
                 {
                     e.printStackTrace();
                 }
             } catch (IOException e) {
                 e.printStackTrace();
             }
         }
     }
 }

最佳答案

将FloatingActionButton设为全局成员变量,然后您就可以访问 它在 onActivityResult

public class MyActivity extends Activity {
 ...
FloatingActionButton fab;

  @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    fab = findViewById(R.id.fab_capture);
}



 protected void onActivityResult(int requestCode, int resultCode,
         Intent data) {
  ...
    fab.hide();
   ...
 }
}

关于java - android 如何让 float 按钮消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59743381/

相关文章:

java - 从本地机器到 AWS RDS PostgreSQL 数据库的连接速度非常慢

android - 改造进度条

java - 获取有关 json 的错误,我是 Android World 的新手

android - 当主应用程序未运行时显示通知的后台进程

java - 如何循环并将值存储到 ArrayList 中,并将其传递到 JSP 进行显示

java - 创建一个二维数组并找到最大值

java - 单击按钮时在 startActivity 上崩溃

java - 如何正确删除Android中按钮周围的填充(或边距?)?

android - 禁用 Activity 中的电源按钮

java - Android蓝牙读取消息未获取消息的第一个字符