:
Core code:
Package Com.zms.toast;import Android.app.dialog;import Android.content.context;import Android.content.res.resources;import Android.os.handler;import Android.os.message;import Android.util.displaymetrics;import Android.view.gravity;import Android.view.window;import Android.view.windowmanager;import android.widget.textview;import java.util.random;/** * Created by AlexZhou on 2015/3/ 2. * 14:51 */public class Customdialog extends Dialog {private static int defaultwidth = 200; private static int defaultheight = 160; private int progress = 0; Private TextView DialogText; Public Customdialog (Context context) {super (context); } public Customdialog (context context, int layout, int style) {This (context, DefaultWidth, DefaultHeight, layou T, style); Public float getdensity (context context) {Resources res = context.getresources (); Displaymetrics DM = Res.getdisplaymetrics (); return dm.density; } public Customdialog (Context Context, int width, int height, int layout, int style) {Super (context, style); Set content Setcontentview (layout); Setting window Properties windows window = GetWindow (); Windowmanager.layoutparams params = Window.getattributes (); Set width, height, density, alignment float density = getdensity (context); Params.width = (int) (width * density); Params.height = (int) (height * density); params.gravity = Gravity.center; Window.setattributes (params); DialogText = (TextView) Findviewbyid (R.id.dialogtext); New Thread (New Timethread ()). Start (); } final Handler Timehandler = new Handler () {public void Handlemessage (Message msg) {switch (MSG.WH At) {Case 1:if (Progress <) {progress = progress + NEW Random (). Nextint (10); if (progress <=) {Dialogtext.settext ("Update Progress" + Progress + "%"); } else {Dialogtext.settext ("Update Progress 100%"); }} else {Dialogtext.settext ("update Complete"); Dismiss (); }} super.handlemessage (msg); } }; public class Timethread implements Runnable {@Override public void run () {while (true) { try {thread.sleep (1000); Message message = new Message (); Message.what = 1; Timehandler.sendmessage (message); } catch (Exception e) {e.printstacktrace (); }}}} @Override public void Dismiss () {Super.dismiss (); }}
Reprint Please specify source: Zhou Mushi's CSDN blog http://blog.csdn.net/zhoumushui
my github: Zhou Mushi's GitHub Https://github.com/zhoumushui
Android Custom Dialog style