【Android】自定义Dialog
先上图

main.xml主界面文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
<Button
        android:id="@+id/mydialog"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Dialog" />
</LinearLayout>
CustomDialogActivity.java主界面后台代码
import com.example.viewpagerdemo.MyDialog.Dialogcallback;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class CustomDialogActivity extends Activity {
	private Button mydialog;
	private TextView textView;
public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		mydialog = (Button) findViewById(R.id.mydialog);
		mydialog.setOnClickListener(new OnClickListener() {
@Override
			public void onClick(View v) {
				MyDialog myDialog = new MyDialog(CustomDialogActivity.this);
				myDialog.setContent("しばらくお待ち下さい。");
				myDialog.setDialogCallback(dialogcallback);
				myDialog.show();
			}
		});
	}
Dialogcallback dialogcallback = new Dialogcallback() {
		@Override
		public void dialogdo(String string) {
			textView.setText("哥來自Dialog: " + string);
		}
	};
}
dialog.xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="310dp"
    android:layout_height="match_parent"
    android:orientation="vertical" >
<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="25dp"
        android:layout_marginBottom="25dp"
        android:layout_gravity="center_horizontal"
        android:text="iRemoconを検索中"
        android:textColor="#666666"
        android:textSize="18dp" />
<ImageView 
        android:layout_width="280dp"
        android:layout_height="150dp"
        android:background="#cccccc"
        android:layout_gravity="center_horizontal"/>
<TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:text="しばらくお待ち下さい。"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="15dp"
        android:layout_marginBottom="15dp"
        android:textColor="#666666"
        android:textSize="14dp"/>
<ImageView 
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="#cccccc"/>
<TextView
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="キャンセル" 
        android:textSize="14dp"
        android:layout_marginTop="15dp"
        android:layout_marginBottom="15dp"
        android:textColor="#208bd0"/>
</LinearLayout>
MyDialog.java核心文件
import android.app.Dialog;
import android.content.Context;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MyDialog {
	Context context;
	Dialogcallback dialogcallback;
	Dialog dialog;
	TextView sure;
	TextView textView;
	EditText editText;
public MyDialog(Context con) {
		this.context = con;
		dialog = new Dialog(context, R.style.dialog);
		dialog.setContentView(R.layout.dialog);
		textView = (TextView) dialog.findViewById(R.id.textview);
		sure = (TextView) dialog.findViewById(R.id.button1);
		sure.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				dismiss();
			}
		});
	}
public interface Dialogcallback {
		public void dialogdo(String string);
	}
public void setDialogCallback(Dialogcallback dialogcallback) {
		this.dialogcallback = dialogcallback;
	}
public void setContent(String content) {
		textView.setText(content);
	}
public String getText() {
		return editText.getText().toString();
	}
public void show() {
		dialog.show();
	}
public void hide() {
		dialog.hide();
	}
public void dismiss() {
		dialog.dismiss();
	}
}
style.xml文件
<resources>
<style name="dialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">false</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:background">#FFF</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:backgroundDimEnabled">true</item>
    </style>
</resources>
【Android】自定义Dialog的更多相关文章
- Android自定义 Dialog 对话框
		Android自定义Dialoghttp://www.cnblogs.com/and_he/archive/2011/09/16/2178716.html Android使用自定义AlertDialo ... 
- Android—自定义Dialog
		在 Android 日常的开发中,Dialog 使用是比较广泛的.无论是提示一个提示语,还是确认信息,还是有一定交互的(弹出验证码,输入账号密码登录等等)对话框. 而我们去看一下原生的对话框,虽然随着 ... 
- Android自定义Dialog(美化界面)
		前言:在做项目的时候,发现dialog界面太丑陋,从csdn上下载了一份自定义dialog的源码,在他的基础上对界面进行美化...有需要的朋友可以直接拿走 效果图如下: 主要代码: /** * 自定义 ... 
- Android自定义Dialog及其布局
		实际项目开发中默认的Dialog样式无法满足需求,需要自定义Dialog及其布局,并响应布局中控件的事件. 上效果图: 自定义Dialog,LogoutDialog: 要将自定义布局传入构造函数中, ... 
- android 自定义Dialog背景透明及显示位置设置
		先贴一下显示效果图,仅作参考: 代码如下: 1.自定义Dialog public class SelectDialog extends AlertDialog{ public SelectDialog ... 
- Android自定义Dialog
		Android开发过程中,常常会遇到一些需求场景——在界面上弹出一个弹框,对用户进行提醒并让用户进行某些选择性的操作, 如退出登录时的弹窗,让用户选择“退出”还是“取消”等操作. Android系统提 ... 
- android 自定义Dialog去除黑色边框
		在自定义Dialog时显示的界面中老是有黑色的边框,下面就介绍使用style去除黑色边框方法. 首先在values/styles定义自定义样式: <style name="MyDial ... 
- Android 自定义Dialog类,并在Activity中实现按钮监听。
		实际开发中,经常会用到Dialog,比如退出时候会弹出是否退出,或者还有一些编辑框也会用Dialog实现,效果图如下: 开发中遇到的问题无非在于如果在Activity中监听这个Dialog中实现的 ... 
- Android 自定义Dialog 去除阴影
		自定义Dialog中添加下列代码: window.clearFlags( WindowManager.LayoutParams.FLAG_DIM_BEHIND); 
- android自定义dialog布局
		dialog使用系统自带的有时候不是很美观,就想要自己来设计一个dialog界面,以下就是可以设计的dialog界面: public class CustomDialog extends Dialog ... 
随机推荐
- [BZOJ2982]combination Lucas定理
			题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2982 $C(N,M)\% P = C(N\% P,M\% P) * C(N/P,M/P)\ ... 
- Git .gitignore 设置为全局global
			在操作Git时,我们会将修改的内容$git add . 到Git,Git会提示我们哪些文件都修改了.此时提示中会包括系统自动修改的文件,bin文件等.而我们add到Git时,并不希望将这些文件也一同a ... 
- IOS之constraints
			anyway, you can do this with auto layout. You can do it entirely in IB as of Xcode 5.1. Let's start ... 
- MySQL select * 和把所有的字段都列出来,哪个效率更高?
			MySQL select * 和把所有的字段都列出来,哪个效率更高 答案是:如何,都不推荐使用 SELECT * FROM (1)SELECT *,需要数据库先 Query Table Metadat ... 
- hihoCoder   hiho一下 第四十六周  博弈游戏·Nim游戏·三( sg函数 )
			题意: 给出几堆石子数量,每次可以取走一堆中任意数量的石头,也可以将一堆分成两堆,而不取.最后取走者胜. 思路: 先规矩地计算出sg值,再对每个数量查SG值就可以了.最后求异或和.和不为0的就是必赢. ... 
- CPP-网络/通信:COM
			))//打开串口 { ) { CloseCom();//关闭串口 break; } //添加处理代码. } //最后关闭串口 CloseCom();//关闭串口 
- MySQL查询当天数据以及大量查询时提升速度
			select * from 表名 where to_days(字段名) = to_days(now()) 一.数据库设计方面1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 ord ... 
- PAT (Basic Level) Practise (中文)-1030. 完美数列(25)
			PAT (Basic Level) Practise (中文)-1030. 完美数列(25) http://www.patest.cn/contests/pat-b-practise/1030 给 ... 
- 从prototype beandefinition 谈 spring 的关闭流程和 prototype 的特性
			背景介绍: 服务端期望使用 面向对象编程, 和 spring 结合的话只能是通过 prototype 的 bean 定义,并通过 getBean 获取. 优雅停机探究: 代码说明: 1. 类关系 Si ... 
- js常用技巧汇总
			将彻底屏蔽鼠标右键 oncontextmenu="window.event.returnvalue=false" <table border oncontextmenu=re ... 
