編輯:關於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();
最終效果圖:
最近學習了WebView組件,寫了一個有道詞典的小案例,分享給大家,供大家參考,具體內容如下效果圖:源碼下載:https://coding.net/u/gxs1225/p
Android開發之給應用簽名打包什麼是簽名打包?在Android 系統中,所有安裝到系統的應用程序都必有一個數字證書,此數字證書用於標識應用程序的作者和在應用程序之間建
寫這篇博客的目的就是教大家利用AndroidSDK自帶的support lib來實現APP日間/夜間模式的切換,最近看到好多帖子在做關於這個日夜間模式切換的開源項目,其實
Canvas 即“畫布”的意思,在Android中用其來進行2D繪畫。在使用canvas來進行繪圖時,一般都會自定義一個View來重寫