Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android自定義Dialog簡單實例

Android自定義Dialog簡單實例

編輯:關於Android編程

做Android應用中,最缺少不了的就是自定義Dialog,對於系統默認提供的Dialog樣式,一般都不復合我們應用的樣式。
自定義Dialog需要3步驟即可:
1、主要的重寫Dialog的Java類
2、自定義布局文件、並設置Dialog Theme,在style.xml文件中加一個即可
3、使用方法

一、創建CustomPopDialog2.java類

import android.app.Dialog;
import android.content.Context;
import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager.LayoutParams;
import android.widget.ImageView;

/**
 * 該自定義Dialog應用在:彈出框居中顯示圖片,點擊其他區域自動關閉Dialog
 *
 * @author SHANHY([email protected])
 * @date   2015年12月4日
 */
public class CustomPopDialog2 extends Dialog {

    public CustomPopDialog2(Context context) {
        super(context);
    }

    public CustomPopDialog2(Context context, int theme) {
        super(context, theme);
    }

    public static class Builder {
        private Context context;
        private Bitmap image;

        public Builder(Context context) {
            this.context = context;
        }

        public Bitmap getImage() {
            return image;
        }

        public void setImage(Bitmap image) {
            this.image = image;
        }

        public CustomPopDialog2 create() {
            LayoutInflater inflater = (LayoutInflater) context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            final CustomPopDialog2 dialog = new CustomPopDialog2(context,R.style.Dialog);
            View layout = inflater.inflate(R.layout.dialog_share_qrcode, null);
            dialog.addContentView(layout, new LayoutParams(
                    android.view.ViewGroup.LayoutParams.WRAP_CONTENT
                    , android.view.ViewGroup.LayoutParams.WRAP_CONTENT));
            dialog.setContentView(layout);
            ImageView img = (ImageView)layout.findViewById(R.id.img_qrcode);
            img.setImageBitmap(getImage());
            return dialog;
        }
    }
}

這裡簡單說明下,我們自定義Dialog需要准備一個自己的View布局文件,主要關注create()方法即可,本例中就是直接顯示一個圖片。

二、自定義View的布局文件、並在style.xml中添加theme




    

三、使用自定義的Dialog

        Bitmap bitmap = xxxxx;// 這裡是獲取圖片Bitmap,也可以傳入其他參數到Dialog中
        CustomPopDialog2.Builder dialogBuild = new CustomPopDialog2.Builder(context);
        dialogBuild.setImage(bitmap);
        CustomPopDialog2 dialog = dialogBuild.create();
        dialog.setCanceledOnTouchOutside(true);// 點擊外部區域關閉
        dialog.show();

最終效果圖:

效果圖

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved