继承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;
}
}