Android自定义Dialog

26 篇文章 0 订阅
3 篇文章 0 订阅

继承Dialog类,重写onCreate方法,可以在setContentView(R.layout.xxx)来设置自定义布局。

Dialog 使用问题: 1. 弹出:show() 2. 取消:dismiss() 

对话框的去掉标题和边界黑框,只需要在对话框的构造器中加入Them即可

public OrderDialog(MyActivity activity) {
		super(activity,R.style.myDialogTheme);
		// TODO Auto-generated constructor stub
		this.activity = activity;
	}

Theme的在Styles.xml:

<style name="myDialogTheme"
         parent="@android:Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowNoTitle">true</item>                         
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowBackground">@drawable/dialog_theme_bg</item>
        <item name="android:windowIsTranslucent">false</item>
    </style>


参考:http://griffinshi.iteye.com/blog/568409

/**
 * 
 * @ClassName: OrderDialog 
 * @Description: TODO(预约清单的Dialog类) 
 * @author zyl 
 * @date 2012-7-11 下午4:11:24
 */
public class OrderDialog extends Dialog implements android.view.View.OnClickListener {

	private String sub_specialty,doctor_name,day,time,surplus,price,ghkh,user_balance,pbID,pathid,Sessionid;
	
	private TextView Specialty, Name, Day, Time, Surplus, Price, Ghkh, User_balance;
	private Button yes_button, no_button;
	private MyActivity activity;
	
	public OrderDialog(MyActivity activity) {
		super(activity);
		// TODO Auto-generated constructor stub
		this.activity = activity;
	}

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.order_dialog);
		
		Specialty = (TextView) findViewById(R.id.sub_specialty);
		Name = (TextView) findViewById(R.id.doctor_name);
		Day = (TextView) findViewById(R.id.day);
		Time = (TextView) findViewById(R.id.time);
		Surplus = (TextView) findViewById(R.id.surplus);
		Price = (TextView) findViewById(R.id.price);
		Ghkh = (TextView) findViewById(R.id.ghkh);
		User_balance = (TextView) findViewById(R.id.user_balance);
		yes_button = (Button) findViewById(R.id.left_btn);
		no_button = (Button) findViewById(R.id.right_btn);
		
		//设置类
		Specialty.setText(sub_specialty);
		Name.setText(doctor_name);
		Day.setText(day);
		Time.setText(time);
		Surplus.setText(surplus);//剩余数
		Price.setText(price);//挂号费用
		Ghkh.setText(ghkh);
		User_balance.setText(user_balance);//用户剩余金额
		
		//绑定按钮监听事件
		yes_button.setOnClickListener(this);
		no_button.setOnClickListener(this);
		
	}
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch (v.getId()) {
		case R.id.left_btn://提交预约单击事件处理
			int sur = Integer.valueOf(surplus);
			double pri = Double.valueOf(price);
			double user_bala = Double.valueOf(user_balance);
			
			if (sur > 0 && user_bala - pri >= 0  ) {//判断是否能够预约,是否有足够的金额预约
				SoapObject request = new SoapObject(WebServiceInfo.NAMESPACE, WebServiceInfo.Order);
				request.addProperty("ghkh", ghkh);
				request.addProperty("btn_time", time);
				request.addProperty("pbID", pbID);
				request.addProperty("pathid", pathid);
				request.addProperty("Sessionid", Sessionid);
				new MyAsyncTask(request, WebServiceInfo.Order, activity, "3").execute(100);
				dismiss();
			}else{
				Toast.makeText(activity, "金额不足,请充值", Toast.LENGTH_LONG).show();
				dismiss();
			}
			break;
		case R.id.right_btn://取消预约
			dismiss();
			break;

		default:
			break;
		}
	}

	public void setSessionid(String sessionid) {
		Sessionid = sessionid;
	}

	public void setPathid(String pathid) {
		this.pathid = pathid;
	}

	public void setPbID(String pbID) {
		this.pbID = pbID;
	}

	public void setSub_specialty(String sub_specialty) {
		this.sub_specialty = sub_specialty;
	}

	public void setDoctor_name(String doctor_name) {
		this.doctor_name = doctor_name;
	}

	public void setDay(String day) {
		this.day = day;
	}

	public void setTime(String time) {
		this.time = time;
	}

	public void setSurplus(String surplus) {
		this.surplus = surplus;
	}

	public void setPrice(String price) {
		this.price = price;
	}

	public void setGhkh(String ghkh) {
		this.ghkh = ghkh;
	}

	public void setUser_balance(String user_balance) {
		this.user_balance = user_balance;
	}
	
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值