简单、优美的Dialog
来源:互联网 发布:端口的作用是什么 编辑:程序博客网 时间:2024/04/29 04:06
工作需要实现一个如图所示的对话框(卖相还不错 ),在此简单记录下,顺便分享了,大神路过就可以了…
上图:
布局文件lv_fg_dialog.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/shape_tv_bg_white" android:orientation="vertical" > <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:divider="@drawable/bg_line" android:fadingEdge="none" android:listSelector="@color/background" android:overScrollMode="never" android:scrollbars="none" > </ListView> <View android:layout_width="match_parent" android:layout_height="1dp" android:background="#DDD" /> <Button android:id="@+id/id_tv_cancel" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:background="@drawable/selector_white_grey_bg" android:padding="10dp" android:text="取消"/></LinearLayout>
java 代码:
LayoutInflater mInflater = LayoutInflater.from(this); View v = mInflater.inflate(R.layout.lv_fg_dialog, null); final Dialog dialog = new Dialog(this); ListView listView = (ListView) v.findViewById(R.id.listView1); Button cancel = (Button) v.findViewById(R.id.id_tv_cancel); cancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //TODO dialog.dismiss(); } }); // Dialog 显示的是ListView 需要一个适配器 final List<BankCard> list = new ArrayList<BankCard>(); list.add(new BankCard("中国工商银行", "ICBC", R.drawable.gongshang)); list.add(new BankCard("中国农业银行", "ABC", R.drawable.nongye)); list.add(new BankCard("中国建设银行", "CCB", R.drawable.jiansheyinhang)); list.add(new BankCard("中国银行", "BOC", R.drawable.zhongguoyinhang)); list.add(new BankCard("中国交通银行", "BCOM", R.drawable.jiaotong)); list.add(new BankCard("兴业银行", "CIB", R.drawable.xingye)); list.add(new BankCard("中信银行", "CITIC", R.drawable.zhongxin)); list.add(new BankCard("中国光大银行", "CEB", R.drawable.guangda)); list.add(new BankCard("平安银行", "PAB", R.drawable.pingan)); list.add(new BankCard("中国邮政储蓄银行", "PSBC", R.drawable.youzheng)); list.add(new BankCard("上海银行", "SHB", R.drawable.shanghai)); list.add(new BankCard("浦东发展银行", "SPDB", R.drawable.pufa)); // 这是慕课网上的一个万能的适配器 listView.setAdapter(new CommonAdapter<BankCard>(this, list, R.layout.lv_dialog_bank_card_record) { @Override public void convert(ViewHolder holder, BankCard t, int postiion) { holder.setText(R.id.id_tv_bankCardNumber, t.getBankName()); holder.setImageBitmap( R.id.id_img_bankicon, BitmapUtil.readBitMap(RechargeActivity.this, t.getBankIconId())); } }); //ListView Item 的点击事件 项目的逻辑 可以忽略 listView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //TODO dialog.dismiss(); } }); dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);// 主要部分 dialog.setContentView(v, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));// 设置dialog显示的View,和宽高 dialog.getWindow().setBackgroundDrawable( new ColorDrawable(Color.TRANSPARENT));// 设置dialog背景透明 dialog.show();
这里用到了一个实体类:BankCard.java
**package com.ydt.loan.bean;/** * @author zyh * @version 创建时间:2015年7月10日 上午9:54:04 * 类说明: */public class BankCard extends BaseBean { /** * */ private static final long serialVersionUID = 2697412335840647180L; private String id; private String bankName;//银行名称 private String cardNumber;//银行卡号 private String abbreviation;//银行简称 private int bankIconId;//图片本地 id public BankCard() { } public BankCard(String bankName, String abbreviation,int bankIconId,String cardNum) { super(); this.bankName = bankName; this.abbreviation = abbreviation; this.bankIconId=bankIconId; this.cardNumber=cardNum; } public BankCard(String bankName, String abbreviation,int bankIconId) { super(); this.bankName = bankName; this.abbreviation = abbreviation; this.bankIconId=bankIconId; } public int getBankIconId() { return bankIconId; } public void setBankIconId(int bankIconId) { this.bankIconId = bankIconId; } public String getAbbreviation() { return abbreviation; } public void setAbbreviation(String abbreviation) { this.abbreviation = abbreviation; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getBankName() { return bankName; } public void setBankName(String bankName) { this.bankName = bankName; } public String getCardNumber() { return cardNumber; } public void setCardNumber(String cardNumber) { this.cardNumber = cardNumber; }}**
以上就是最简单的又优美的Dialog了。
0 0
- 简单、优美的Dialog
- 创建优美dialog
- 比较简单优美的网站设计
- SVProgressHUD简单用法,非常简单(实现简单优美的 loading)
- 简单的dialog
- 最简单的Dialog
- Dialog的简单使用
- 简单的dialog使用。。
- Dialog的简单使用
- Dialog的简单使用
- 简单的通用dialog
- 文字也可以这样简单 这样优美的阅读
- python —— 一门简单优美的语言
- 关于Dialog的简单体验
- js 实现简单的Dialog
- 构建简单的Dialog步骤
- 多选dialog的简单实现
- Dialog的简单补充说明
- 步步为营(六)贪心(5)最小区间覆盖问题
- java学习路线
- 链表A + B
- Cordys HLJ项目前端常用语法
- Swift开发必备技巧:static和class的使用
- 简单、优美的Dialog
- 简析Swift和C的交互
- Objective-C学习笔记(十八)——对象方法和类方法的声明,定义及调用
- 快速排序算法
- [Leetcode 122, Medium] Best Time to Buy and Sell Stock II
- 智能语言方向持续更新开更
- Objective-C对象与Core Foundation对象
- LeetCode #20 Valid Parentheses
- 如何修改mysql配置中的字符集