先看看QQ的退出框。
直接上代码看看了:
package com.woyou.ui.component;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import com.citaq.ideliver.R;
public class CustomExitDialog extends Dialog implements OnClickListener {
int layoutRes;// 布局文件
Context context;
Activity mActivity;
/** 确定按钮 **/
private Button confirmBtn;
/** 取消按钮 **/
private Button cancelBtn;
public CustomExitDialog(Context context) {
super(context);
this.context = context;
mActivity = (Activity) context;
}
/**
* 自定义布局的构造方法
*
* @param context
* @param resLayout
*/
public CustomExitDialog(Context context, int resLayout) {
super(context);
this.context = context;
this.layoutRes = resLayout;
mActivity = (Activity) context;
}
/**
* 自定义主题及布局的构造方法
*
* @param context
* @param theme
* @param resLayout
*/
public CustomExitDialog(Context context, int theme, int resLayout) {
super(context, theme);
this.context = context;
this.layoutRes = resLayout;
mActivity = (Activity) context;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(layoutRes);
// 根据id在布局中找到控件对象
confirmBtn = (Button) findViewById(R.id.confirm_btn);
cancelBtn = (Button) findViewById(R.id.cancel_btn);
// 设置按钮的文本颜色
confirmBtn.setTextColor(0xff1E90FF);
cancelBtn.setTextColor(0xff1E90FF);
// 为按钮绑定点击事件监听器
confirmBtn.setOnClickListener(this);
cancelBtn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.confirm_btn:
mActivity.finish();
System.exit(0);
break;
case R.id.cancel_btn:
dismiss();
break;
}
}
}
布局文件
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="@dimen/dp900"
android:layout_height="wrap_content"
android:layout_gravity="center" >
<LinearLayout
android:id="@+id/layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical"
android:scrollbars="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="@dimen/dp160"
android:gravity="center"
android:text="@string/exit"
android:textColor="@android:color/black"
android:textSize="@dimen/sp60" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="@dimen/dp135"
android:layout_marginLeft="@dimen/dp35"
android:text="@string/exit_app"
android:textColor="@android:color/black"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="@dimen/dp4"
android:background="#D1D1D1" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="@dimen/dp135"
android:orientation="horizontal" >
<Button
android:id="@+id/cancel_btn"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/exit_dialog_left_btn_select"
android:text="@string/cancel" />
<LinearLayout
android:layout_width="@dimen/dp4"
android:layout_height="fill_parent"
android:background="#D1D1D1" />
<Button
android:id="@+id/confirm_btn"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/exit_dialog_right_btn_select"
android:text="@string/confirm" />
</LinearLayout>
</LinearLayout>
</ScrollView>
CustomExitDialog exitDialog = new CustomExitDialog(mContext, R.style.customExitDailogStyle, R.layout.custom_exit_dialog);
exitDialog.show();
styles:
<!-- 退出的自定义dialog -->
<style name="customExitDailogStyle" 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:windowBackground">@drawable/exit_dialog_bg</item>
<item name="android:backgroundDimEnabled">true</item>
</style>