`

重写dialog

 
阅读更多

弹出对话框,内容显示随机的自定义内容:

 

public class MyProgressDialog extends Dialog {
	Context context;
	String title;
	TextView tv_title,tv_content;
	Handler handler;
	public MyProgressDialog(Context context,String title) {
		super(context,R.style.progress_Dialog);
		// TODO Auto-generated constructor stub
		this.context = context;
		this.title = title;
	}

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		int width = PublicUtil.getWidth(context);
		setContentView(R.layout.dialog);
		LinearLayout ll_root = (LinearLayout) findViewById(R.id.ll_root);
		LayoutParams lp = (LayoutParams) ll_root.getLayoutParams();
		lp.width = width*2/3;
		ll_root.setLayoutParams(lp);
		tv_content = (TextView) findViewById(R.id.tv_content);
		if(title!=null){
			tv_title = (TextView) findViewById(R.id.tv_title);
			tv_title.setText(title);
		}
		String data = PublicUtil.getSharedValue(context, "tips", "tips", context.getString(R.string.tips));
		final ArrayList<Tip> tips = PublicUtil.parserJsonList(data, "tips", Tip.class);
		handler = new Handler(){
			public void handleMessage(android.os.Message msg) {
				tv_content.setText("小贴士:"+tips.get(msg.what).getContent());
				handler.sendEmptyMessageDelayed((int)(Math.random()*tips.size()), 5000);
			};
		};
		handler.sendEmptyMessage((int)(Math.random()*tips.size()));
	}

	public void setTitle(String title) {
		this.title = title;
		tv_title.setText(title);
	}
}

 

<style name="progress_Dialog" parent="@android:Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@drawable/none</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>

 

调用:
myProgressDialog = new MyProgressDialog(this, “我的标题,可传null”);
myPro...show();
myPro...dismiss()

 

分享到:
评论

相关推荐

    android中重写Dialog

    重写了Dialog,使Dialog类似于一个数字键盘,顺便附带了跳出“正在保存...”的对话框,都是重写了Dialog。 具体可以参考:http://blog.csdn.net/jasonzhou613/article/details/7905388

    qml 用item自定义dialog 对话框

    本文将深入探讨如何使用QML中的`Item`来创建一个自定义的`Dialog`组件。 首先,了解`Dialog`的基本概念。在Qt Quick中,`Dialog`是一个用于展示临时信息或进行用户交互的窗口,通常会有一个确定的关闭机制,如点击...

    自定义全屏Dialog

    创建一个继承自`AppCompatDialog`的类,重写`onCreate()`方法,在这里加载刚刚创建的布局文件,并设置Dialog的样式。例如: ```java public class FullScreenDialog extends AppCompatDialog { public ...

    Android 控制关闭Dialog

    例如,可以重写Dialog的`onClick`回调方法,根据业务逻辑决定是否调用`dismiss()`方法来关闭Dialog。对于输入验证,可以在输入错误时阻止`dismiss()`的调用,并显示错误提示,待用户修正错误后再关闭Dialog: ```...

    用Dialog实现的主动弹出式气泡

    这可以通过重写Dialog的`onTouchEvent()`方法来实现。 在实际的项目中,`TestBubble`可能是实现这种气泡Dialog的测试类。通过阅读和分析这个类的代码,我们可以更深入地了解如何结合上述知识点来创建和使用这个...

    swing中自定义对话框的几种实际用法

    Swing是Java编程环境中用于构建图形用户界面(GUI)的一个重要工具包,它提供了丰富的组件和功能,使得开发者能够创建出美观且功能强大的桌面应用程序。在Swing中,对话框是一种特殊的窗口,用于向用户提供临时信息...

    Android(省市区三级联动Dialog)Demo

    在这个特定的场景中,“省市区三级联动Dialog”指的是一个用户界面元素,它允许用户选择省份、城市和区县,这三个选择是相互关联的。当用户在一级列表(省份)中做出选择后,二级列表(城市)会根据所选省份动态更新...

    应用源码之(Dialog对话框.zip

    Android允许开发者自定义Dialog的布局,这可以通过重写Dialog的`onCreateView()`或`onCreateDialog()`方法实现。首先,创建一个XML布局文件,然后在Dialog类中加载并设置这个布局。 ```java public class ...

    dialog 使用代码实例

    要实现动画效果,需要重写Dialog的`onShowListener`。以下是一个例子: ```java // 获取Dialog的Window对象 Window window = customDialog.getWindow(); // 设置Dialog的Gravity window.setGravity(Gravity.BOTTOM)...

    Androd自定义对话框Dialog视图及参数传递的实现方法

    在这个类中,我们需要重写Dialog的构造函数以及`onCreate()`方法: ```java public class CustomDialog extends Dialog { Context mContext; public CustomDialog(Context context) { super(context); ...

    Dialog的重写

    在本篇文章中,我们将深入探讨如何在Android中重写`Dialog`,以满足自定义需求。 首先,我们需要了解`Dialog`的基本用法。在Android SDK中,`Dialog`类是继承自`Window`,它提供了创建和管理对话框的方法。通常,...

    Android自定义对话框

    在我们的日常项目中很多...1、重写Dialog来实现。 2、获取Dialog的Window对象实现。 3、使用WindowManager来实现。 4、使用DialogTheme来实现。 详细请看:http://blog.csdn.net/dawanganban/article/details/42269109

    火山安卓不消失的弹窗按钮例子.rar

    5. **处理触摸事件**:为了让Dialog不因用户触摸背景而关闭,我们需要重写Dialog的`onTouchEvent()`方法,阻止事件的传递。例如: ```java @Override public boolean onTouchEvent(MotionEvent event) { return ...

    Android自定义等待框

    描述中提到的“简单的重写Dialog”就是这个过程。 接着,我们关注到“style里面的一些属性”。在Android中,我们可以利用主题(Theme)和样式(Style)来定制对话框的外观。在res/values/styles.xml文件中,可以...

    Android 普通对话框源码.rar

    同时,可以重写Dialog的`onCreate()`方法来进一步定制对话框的行为。 5. **使用资源文件** 文件“1_120820205046_1.png”可能是一个对话框中使用的图标或示例图片,这在自定义对话框时很常见。读取并显示这个资源...

    dialog dismiss时键盘不消失的问题浅析及解决办法

    这可以通过重写Dialog的`onTouchEvent()`方法实现,当检测到应该关闭Dialog的触摸事件时,调用`ViewHelper.hideKeyboard(context, et)`来隐藏键盘。 ```java @Override public boolean onTouchEvent(MotionEvent ...

    安卓Dialog对话框相关-项目通用Dialog.rar

    - 继承`AppCompatActivity`或`DialogFragment`,重写`onCreateDialog()`方法,在其中加载布局并设置点击事件。 - 在需要展示Dialog的地方,实例化自定义的Dialog类并调用`show()`方法。 5. **使用DialogUse** ...

    (仿照系统音量dialog)在广播中弹出系统级别dialog,并且dialog后边背景不变暗,并且可以获取焦点

    为了保持背景不暗化,我们需要重写`onCreateDialog()`方法,并禁用默认的背景暗化效果: ```java @Override public Dialog onCreateDialog(Bundle savedInstanceState) { // 使用自定义的布局 View view = ...

    重写Spinner类,实现点击后弹出带有确认,取消按钮的dialog

    接下来,我们要创建一个新的类,继承自 Spinner,并重写其 `onItemSelectedListener` 方法。在这个方法中,我们显示 Dialog 并填充 ListView。ListView 的数据可以通过 ArrayAdapter 来设置,RadioButton 的文本对应...

    Android自定义显示内容的Dialog

    要自定义Dialog,我们需要创建一个新的类,继承自Dialog,并重写其onCreate()方法。在onCreate()中,我们可以使用LayoutInflater来加载自定义布局,然后将这个布局设置为Dialog的内容视图。例如: ```java public ...

Global site tag (gtag.js) - Google Analytics