From 8814f3f0828e6ac652a29cc9de9f971fd55bca5b Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 07 五月 2025 14:54:42 +0800 Subject: [PATCH] 2025年05月07日14:54:39 --- app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 47 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java index 276831b..bab8420 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/QrCodeMainActivity.java @@ -1,19 +1,24 @@ package com.hdl.photovoltaic.ui.me; +import android.content.Intent; import android.graphics.Bitmap; import android.graphics.Color; import android.os.Bundle; +import android.provider.MediaStore; import android.text.TextUtils; import android.view.View; import androidx.appcompat.content.res.AppCompatResources; +import com.google.gson.Gson; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.ActivityQrCodeMainBinding; import com.hdl.photovoltaic.other.HdlCommonLogic; +import com.hdl.photovoltaic.other.HdlThreadLogic; +import com.hdl.photovoltaic.ui.bean.QrCodeBean; /** * 浜岀淮鐮佸悕鐗囩殑鐣岄潰 @@ -29,8 +34,8 @@ @Override public void onBindView(Bundle savedInstanceState) { - setNotificationBarBackgroundColor(CustomBaseActivity.CustomColor.white); - setStatusBarTextColor(); + setStatusBarTranslucent(); + getWindow().setNavigationBarColor(getColor(R.color.text_00000000)); //鍒濆鍖� initView(); //鍒濆鍖栫晫闈㈢洃鍚櫒 @@ -44,28 +49,51 @@ private void initEvent() { - viewBinding.toolbarTopQrCodeRl.topBackLl.setOnClickListener(new View.OnClickListener() { + viewBinding.toolbarTopRl.topBackLl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); - viewBinding.toolbarTopQrCodeRl.topMoreBtn.setOnClickListener(new View.OnClickListener() { + viewBinding.saveTv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + //鍋囪浣犲凡缁忔湁浜嗕竴涓簩缁寸爜鍥剧墖锛岃繖閲屾槸涓�涓畝鍖栫殑鎴浘鏂规硶 + viewBinding.qrCodeIv.setDrawingCacheEnabled(true); + Bitmap bitmap = viewBinding.qrCodeIv.getDrawingCache(); + // 淇濆瓨鎴浘鍒扮浉鍐� + saveImageToGallery(bitmap); + // 娓呯悊缂撳瓨 + viewBinding.qrCodeIv.setDrawingCacheEnabled(false); + if (bitmap != null && !bitmap.isRecycled()) { + // 纭繚涓嶆槸宸茬粡鍥炴敹鐨凚itmap + // 杩涜浣犻渶瑕佺殑鎿嶄綔 + Bitmap.createBitmap(bitmap).recycle(); + } } }); } + + private void saveImageToGallery(Bitmap bitmap) { + String path = MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, "QRCode", null); + if (path != null) { + HdlThreadLogic.toast(_mActivity, getString(R.string.save_qr_code_successfully)); + // Toast.makeText(this, "淇濆瓨鎴愬姛", Toast.LENGTH_SHORT).show(); + } else { + HdlThreadLogic.toast(_mActivity, getString(R.string.failed_to_save_qr_code)); + //Toast.makeText(this, "淇濆瓨澶辫触", Toast.LENGTH_SHORT).show(); + } + } + private void initView() { - viewBinding.toolbarTopQrCodeRl.topTitleTv.setText(R.string.qr_code_business_card); - viewBinding.toolbarTopQrCodeRl.topBackLl.setVisibility(View.VISIBLE); - viewBinding.toolbarTopQrCodeRl.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C, null)); - viewBinding.toolbarTopQrCodeRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF, null)); - viewBinding.toolbarTopQrCodeRl.topMoreIv.setVisibility(View.VISIBLE); - viewBinding.toolbarTopQrCodeRl.topMoreIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.save_image)); + viewBinding.toolbarTopRl.topBarView.setBackgroundColor(getColor(R.color.text_00000000)); + viewBinding.toolbarTopRl.topTitleTv.setText(R.string.qr_code_business_card); + viewBinding.toolbarTopRl.topBackLl.setVisibility(View.VISIBLE); +// viewBinding.toolbarTopQrCodeRl.topMoreBtn.setVisibility(View.VISIBLE); +// viewBinding.toolbarTopQrCodeRl.topMoreIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.save_image)); if (!TextUtils.isEmpty(UserConfigManage.getInstance().getUserName())) { viewBinding.userNameTv.setVisibility(View.VISIBLE); viewBinding.userNameTv.setText(UserConfigManage.getInstance().getUserName()); @@ -75,8 +103,15 @@ viewBinding.userAccountTv.setVisibility(View.VISIBLE); viewBinding.userAccountTv.setText(str); } - String content = UserConfigManage.getInstance().getAccount(); - Bitmap bitmap = HdlCommonLogic.getInstance().createQRCodeBitmap(content, 229, 229, "UTF-8", "H", "1", Color.BLACK, Color.WHITE); + QrCodeBean qrCodeBean = new QrCodeBean(); + qrCodeBean.setUserEmail(UserConfigManage.getInstance().getBingEmail()); + qrCodeBean.setUserPhone(UserConfigManage.getInstance().getBingPhone()); + qrCodeBean.setUserName(UserConfigManage.getInstance().getUserName()); + qrCodeBean.setAccount(UserConfigManage.getInstance().getAccount()); +// String content = UserConfigManage.getInstance().getBingEmail() + ";" + UserConfigManage.getInstance().getBingPhone() + ";" + UserConfigManage.getInstance().getUserName() + ";" + UserConfigManage.getInstance().getAccount(); +// String content = UserConfigManage.getInstance().getAccount();// + String content = new Gson().toJson(qrCodeBean);//鍐呭杩囬暱寰俊鎵爜鏄剧ず鏈夐棶棰� + Bitmap bitmap = HdlCommonLogic.getInstance().createQRCodeBitmap(content, 168, 168, "UTF-8", "H", "1", Color.BLACK, Color.WHITE); viewBinding.qrCodeIv.setImageBitmap(bitmap); } -- Gitblit v1.8.0