android 组件之Dialog(自定义)
2011-05-09 18:41
435 查看
主要实现自定义的dialog.
代码:
//
/**
*
* 实现自定义的Dialog
*/
public class DialogTestActivity extends Activity {
Dialog myDialog = null;// Dialog对象
Button btn_showDialog;// 显示dialog
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn_showDialog = (Button) findViewById(R.id.btn_showDialog);
btn_showDialog.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showHint("提示");
}
});
}
// /////自定义的显示////////
protected void showHint(String strReasons) {
// ////////提示//////////
if (myDialog != null) {
myDialog.dismiss();
}
// R.style.dialog 为自定义的风格
myDialog = new Dialog(DialogTestActivity.this, R.style.dialog);
myDialog.setContentView(R.layout.messagealert);
myDialog.show();
TextView success_or_fail = (TextView) myDialog
.findViewById(R.id.success_or_fail);
success_or_fail.setText(strReasons);
Button alertbtn = (Button) myDialog.findViewById(R.id.alertbtn);
alertbtn.setOnClickListener(new OnClickListener() {
/* 设置跳出窗口的返回事件 */
@Override
public void onClick(View v) {
myDialog.dismiss();
}
});
// //////////////////
}
}
// ///////////////////////////////////////////////////////////布局相关/////////////////////////////////////////////////
path /DialogTest/res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center"
android:background="@color/white"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/btn_showDialog"
android:textColor="@color/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="showDialog"
/>
</LinearLayout>
/////////----------//////////
path /DialogTest/res/layout/messagealert.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- 带文本和一个按钮的提示框 -->
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/dialogbg">
<!-- 提示框背景↓-->
<ImageView
android:id="@+id/fst_bg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10px"
android:src="@drawable/dialogback1"
/>
<!-- android:layout_toRightOf="@+id/fst_bg" android:layout_toLeftOf="@+id/last_bg"-->
<ImageView
android:id="@+id/sec_bg"
android:layout_width="400px"
android:layout_height="wrap_content"
android:background="@drawable/dialogback0"
android:layout_alignTop="@+id/fst_bg"
android:layout_alignBottom="@+id/fst_bg"
android:layout_marginLeft="32px"
/>
<ImageView
android:id="@+id/last_bg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/dialogback2"
android:layout_alignTop="@+id/fst_bg"
android:layout_alignParentRight="true"
android:layout_marginRight="10px"
/>
<!-- 提示框背景 ↑-->
<!-- 成功或者失败的TextView-->
<TextView
android:id="@+id/success_or_fail"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_toRightOf="@+id/fst_bg"
android:layout_marginTop="30px"
android:textColor="@color/black"
android:text="success_or_fail">
</TextView>
<!-- 提示信息()需要用的话 在程序中设置其text-->
<TextView
android:id="@+id/alert_message"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textColor="@color/black"
android:layout_below="@+id/success_or_fail"
android:layout_alignLeft="@+id/success_or_fail"
android:layout_marginTop="20px"
android:text="alert_message"
/>
<!-- 操作按钮 -->
<Button
android:id="@+id/alertbtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/surebtnselector"
android:visibility="visible"
android:layout_marginBottom="30px"
android:layout_alignBottom="@+id/sec_bg"
android:layout_marginLeft="30px"
/>
</RelativeLayout>
////////////----------------------------------////////////////////////////
path /DialogTest/res/values/dialog.xml
<!-- 自定义Dialog风格 -->
<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">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">@drawable/dialogbg</item>
<item name="android:windowBackground">@drawable/dialogbg</item>
<!-- 屏幕背景是否变暗 -->
<item name="android:backgroundDimEnabled">true</item>
</style>
</resources>
代码:
//
/**
*
* 实现自定义的Dialog
*/
public class DialogTestActivity extends Activity {
Dialog myDialog = null;// Dialog对象
Button btn_showDialog;// 显示dialog
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn_showDialog = (Button) findViewById(R.id.btn_showDialog);
btn_showDialog.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showHint("提示");
}
});
}
// /////自定义的显示////////
protected void showHint(String strReasons) {
// ////////提示//////////
if (myDialog != null) {
myDialog.dismiss();
}
// R.style.dialog 为自定义的风格
myDialog = new Dialog(DialogTestActivity.this, R.style.dialog);
myDialog.setContentView(R.layout.messagealert);
myDialog.show();
TextView success_or_fail = (TextView) myDialog
.findViewById(R.id.success_or_fail);
success_or_fail.setText(strReasons);
Button alertbtn = (Button) myDialog.findViewById(R.id.alertbtn);
alertbtn.setOnClickListener(new OnClickListener() {
/* 设置跳出窗口的返回事件 */
@Override
public void onClick(View v) {
myDialog.dismiss();
}
});
// //////////////////
}
}
// ///////////////////////////////////////////////////////////布局相关/////////////////////////////////////////////////
path /DialogTest/res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center"
android:background="@color/white"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/btn_showDialog"
android:textColor="@color/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="showDialog"
/>
</LinearLayout>
/////////----------//////////
path /DialogTest/res/layout/messagealert.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- 带文本和一个按钮的提示框 -->
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/dialogbg">
<!-- 提示框背景↓-->
<ImageView
android:id="@+id/fst_bg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10px"
android:src="@drawable/dialogback1"
/>
<!-- android:layout_toRightOf="@+id/fst_bg" android:layout_toLeftOf="@+id/last_bg"-->
<ImageView
android:id="@+id/sec_bg"
android:layout_width="400px"
android:layout_height="wrap_content"
android:background="@drawable/dialogback0"
android:layout_alignTop="@+id/fst_bg"
android:layout_alignBottom="@+id/fst_bg"
android:layout_marginLeft="32px"
/>
<ImageView
android:id="@+id/last_bg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/dialogback2"
android:layout_alignTop="@+id/fst_bg"
android:layout_alignParentRight="true"
android:layout_marginRight="10px"
/>
<!-- 提示框背景 ↑-->
<!-- 成功或者失败的TextView-->
<TextView
android:id="@+id/success_or_fail"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_toRightOf="@+id/fst_bg"
android:layout_marginTop="30px"
android:textColor="@color/black"
android:text="success_or_fail">
</TextView>
<!-- 提示信息()需要用的话 在程序中设置其text-->
<TextView
android:id="@+id/alert_message"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textColor="@color/black"
android:layout_below="@+id/success_or_fail"
android:layout_alignLeft="@+id/success_or_fail"
android:layout_marginTop="20px"
android:text="alert_message"
/>
<!-- 操作按钮 -->
<Button
android:id="@+id/alertbtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/surebtnselector"
android:visibility="visible"
android:layout_marginBottom="30px"
android:layout_alignBottom="@+id/sec_bg"
android:layout_marginLeft="30px"
/>
</RelativeLayout>
////////////----------------------------------////////////////////////////
path /DialogTest/res/values/dialog.xml
<!-- 自定义Dialog风格 -->
<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">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">@drawable/dialogbg</item>
<item name="android:windowBackground">@drawable/dialogbg</item>
<!-- 屏幕背景是否变暗 -->
<item name="android:backgroundDimEnabled">true</item>
</style>
</resources>
相关文章推荐
- Android之自定义Dialog弹出框公共组件类
- 【android开发记录片】2.自定义/定制 Dialog组件
- 【android开发记录片】2.自定义/定制 Dialog组件
- 21种ANDROID自定义DIALOG_动画弹出对话框效果组件
- Android组件之自定义ContentProvider
- Android dialog无标题栏样式style(for 自定义dialog)
- Android 自定义DatePicker / DatePickerDialog
- Android自定义Dialog
- [Android]自定义万能Dialog
- android 自定义dialog初探
- android自定义Dialog实现文件下载和下载进度
- 【Android 应用开发】 自定义组件 宽高适配方法, 手势监听器操作组件, 回调接口维护策略, 绘制方法分析 -- 基于 WheelView 组件分析自定义组件
- Android自定义对话框(Dialog)位置,大小
- Android自定义dialog中的EditText无法弹出键盘的解决
- android Dialog 自定义 实现xml
- Android 使用自定义Dialog打造ActionSheet菜单
- Android开发--身高体重指数(BIM)计算--添加对话框(Dialog)(Toast界面组件、错误处理try-catch)
- Android之自定义AlertDialog和PopupWindow实现(仿微信Dialog)
- Android——自定义Dialog
- Android自定义对话框(Dialog)位置,大小