简单、优美的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
原创粉丝点击