MainActivity:
package com.ruru.dialogproject;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends Activity implements Runnable {
LoadingDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btn_name).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog = new LoadingDialog(MainActivity.this);
dialog.setCanceledOnTouchOutside(false);
dialog.show();
new Thread(MainActivity.this).start();
}
});
}
public void run() {
try {
Thread.sleep(5000);
dialog.dismiss();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
activity_main:
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.ruru.dialogproject.MainActivity">
android:id="@+id/btn_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello World!" />
LoadingDialog:
package com.ruru.dialogproject;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;
/**
* Created by 27c1 on 2017/1/4.
*/
public class LoadingDialog extends Dialog {
private TextView tv;
/**
* style很关键
*/
public LoadingDialog(Context context) {
super(context, R.style.loadingDialogStyle);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_loading);
tv = (TextView) findViewById(R.id.tv);
tv.setText("正在上传.....");
LinearLayout linearLayout = (LinearLayout) this.findViewById(R.id.LinearLayout);
linearLayout.getBackground().setAlpha(210);
}
}
dialog_loading:
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/transparent"
android:orientation="vertical">
android:id="@+id/LinearLayout"
android:layout_width="160dp"
android:layout_height="160dp"
android:background="@drawable/yuanjiao"
android:gravity="center"
android:orientation="vertical">
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleInverse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/transparent" />
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingTop="10dp"
android:textColor="#fff" />
R.style.loadingDialogStyle:
@android:color/transparent
@null
true
true
true
@null
@android:style/Animation.Dialog
false
0.6
drawable-yuanjiao:
android:bottomLeftRadius="10dp"
android:bottomRightRadius="10dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp" />
效果:
关于样式:
@null :Dialog的windowFrame框为无
true:是否浮现在activity之上
false:是否半透明
true:是否显示title
@drawable/dia_bg:设置dialog的背景
true背景是否模糊显示
0.6背景的灰度
Window attributes属性详解
颜色为:#393939
以上所述是小编给大家介绍的Android仿微信进度弹出框效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!