編輯:關於Android編程
效果圖:

核心代碼:
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, layout, 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);
// 設置內容
setContentView(layout);
// 設置窗口屬性
Window window = getWindow();
WindowManager.LayoutParams params = window.getAttributes();
// 設置寬度、高度、密度、對齊方式
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.what) {
case 1:
if (progress < 100) {
progress = progress + new Random().nextInt(10);
if (progress <= 100) {
dialogText.setText(更新進度 + progress + %);
} else {
dialogText.setText(更新進度100%);
}
} else {
dialogText.setText(更新完成);
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();
}
}
Android編程滑動效果之倒影效果實現方法(附demo源碼下載)
本文實例講述了Android編程滑動效果之倒影效果實現方法。分享給大家供大家參考,具體如下:前面介紹了使用《Android編程實現3D滑動旋轉效果的方法》,現在介紹圖片倒
Android基礎——屬性動畫賞析
經常看一些大神的博客,大多數大神開篇都輕談一些國內比較專注的事和一些身邊瑣事,以表自己心情感悟。像我這種菜雞就直接步入正題吧。畢竟這東西就這麼簡單。Android動畫效果
Android Studio如何更改JDK和SDK的路徑?
這個對於很多剛轉到Android Studio上的來說,確實是一個問題。可能你在設置裡面找了很久都沒找到這個選項。 直接上圖吧,按下圖就可以找到設置的地兒了,然後直接設置
ArthurHub/Android-Image-Cropper 相冊裁剪框架學習
以前寫過2篇關於相冊選取、裁剪的demo,今天我們來學習下github上一款開源的相冊裁剪開源庫開源庫地址 https://github.com/ArthurHub/An