自定义Dialog样式的activity页面(附有二维码生成代码)
来源:互联网 发布:淘宝生意参谋要钱吗 编辑:程序博客网 时间:2024/05/17 02:55
例子:
从别的页面点击按钮弹出以Dialog样式出现的二维码生成页面,背景半透明,点击屏幕其他区域该页面可以消失。
public class PayNowActivity extends Activity {// @BindView(R2.id.iv_QRcode) ImageView ivQRcode;// @BindView(R2.id.iv_close) ImageView ivClose; private String content; private static final String TAG = PayNowActivity.class.getSimpleName(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_pay_now);// ButterKnife.bind(this); ivQRcode = (ImageView) findViewById(R.id.iv_QRcode); ivClose = (ImageView) findViewById(R.id.iv_close); content = getIntent().getStringExtra("content"); Bitmap bitmap = createQRCode(content); ivQRcode.setImageBitmap(bitmap); ivClose.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); } /** * 将指定的内容生成成二维码 * * @param content 将要生成二维码的内容 * @return 返回生成好的二维码事件 * @throws WriterException WriterException异常 */ public Bitmap createQRCode(String content) { int qrwidth = getResources().getDimensionPixelOffset(R.dimen.qrcode_width); //生成二维矩阵,编码时指定大小,不要生成了图片以后再进行缩放,这样会模糊导致识别失败 BitMatrix matrix = null; try { matrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, qrwidth, qrwidth); } catch (WriterException e) { e.printStackTrace(); } int width = matrix.getWidth(); int height = matrix.getHeight(); //二维矩阵转为一维像素数组,也就是一直横着排了。 int[] pixels = new int[width * height]; //两个for循环是图片横列扫描的结果 for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { if (matrix.get(x, y)) { pixels[y * width + x] = 0xff000000; } } } Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); Logger.t(TAG).d("width=" + width + ",height=" + height); //通过像素数组生成bitmap,具体参考api bitmap.setPixels(pixels, 0, width, 0, 0, width, height); return bitmap; }// @OnClick(R2.id.iv_close)// public void onClick() {// finish();// }}
布局文件:
AndroidManifest.xml中的配置:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center"> <RelativeLayout android:layout_width="@dimen/pay_width" android:layout_height="@dimen/pay_height"> <LinearLayout android:background="@drawable/corner_border_style" android:layout_marginTop="@dimen/px_15" android:layout_marginRight="@dimen/px_15" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:text="扫描二维码进行支付" android:textSize="@dimen/px_24" android:background="@drawable/dash_border_style" android:textColor="@color/color_black" android:paddingTop="@dimen/px_50" android:gravity="center_horizontal" android:layout_width="match_parent" android:layout_height="@dimen/head_height" /> <ImageView android:id="@+id/iv_QRcode" android:layout_gravity="center_horizontal" android:layout_marginTop="30px" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:text="请您在支付成功后关注" android:textSize="@dimen/px_16" android:textColor="@color/color_black" android:layout_marginBottom="@dimen/px_20" android:gravity="center_horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:text="“馨e品”微信公众号查看订单" android:textColor="@color/color_black" android:textSize="@dimen/px_16" android:gravity="center_horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> <ImageView android:src="@drawable/gallery_dele" android:id="@+id/iv_close" android:layout_alignParentRight="true" android:layout_width="@dimen/px_40" android:layout_height="@dimen/px_40" /> </RelativeLayout></RelativeLayout>
<activity android:name=".activity.PayNowActivity" android:theme="@style/CustomTheme.Dialog" />
0 0
- 自定义Dialog样式的activity页面(附有二维码生成代码)
- 使用自定义透明Dialog样式的Activity
- 使用自定义透明Dialog样式的Activity
- 使用自定义透明Dialog样式的Activity
- 使用自定义透明Dialog样式的Activity
- 自定义透明Dialog样式的Activity
- 使用自定义透明Dialog样式的Activity
- 使用自定义透明Dialog样式的Activity
- Dialog样式的Activity
- Dialog样式的Activity
- Dialog样式的Activity
- Dialog样式的Activity
- Dialog样式的Activity
- Zxing生成自定义二维码样式
- Android:使用自定义透明Dialog样式的Activity
- 自定义dialog的样式
- 代码实现自定义dialog样式
- Andriod中自定义Dialog样式的Activity点击空白处隐藏软件盘(Dialog不消失)
- Action Bar示例代码 (一)
- 堆排序以及归并排序的理解
- python简单目录遍历和文件拷贝
- 服务器停 断网情况
- 递归实现简易的资源管理器
- 自定义Dialog样式的activity页面(附有二维码生成代码)
- SVN解决不能查看最近提交日志的问题
- 真机如何访问台式机上的Tomcat
- 【LeetCode】ZigZag Conversion
- OC消息转发机制
- 树莓派蓝牙python配置
- Android常用8种设计模式(二)
- C4800是个什么鬼?
- 表单转换为Model