activity_main.xml:
<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/btnStandardDialog"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="标准对话框" />
<Button
android:id="@+id/btnItemsDialog"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="列表对话框" />
<Button
android:id="@+id/btnCustomDialog"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="自定义对话框" />
</LinearLayout>
自定义对话框布局:custom_dialog.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="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="输入地址"/>
<EditText
android:id="@+id/etAddress"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
java类:
package com.sxt.day05_09;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setListener();
}
private void setListener() {
setStandardDialogClickListener();
setItemsDialogClickListener();
setCustomDialogClickListener();
}
private void setCustomDialogClickListener() {
findViewById(R.id.btnCustomDialog).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//将custom_dialog.xml解析为一个View类型的对象
View layout = View.inflate(MainActivity.this, R.layout.custom_dialog, null);
final EditText etAddrss=(EditText) layout.findViewById(R.id.etAddress);
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
builder.setTitle("输入地址的对话框")
.setView(layout)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String address=etAddrss.getText().toString();
Log.i("main",address);
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
});
}
//创建列表类型的对话框
private void setItemsDialogClickListener() {
findViewById(R.id.btnItemsDialog).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
builder.setItems(new String[]{"增加数据","删除数据","修改数据"}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0:
Toast.makeText(MainActivity.this, "执行增加数据的操作", 3000).show();
break;
case 1:
Toast.makeText(MainActivity.this, "执行删除数据的操作", 3000).show();
break;
case 2:
Toast.makeText(MainActivity.this, "执行修改数据的操作", 3000).show();
break;
}
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
});
}
private void setStandardDialogClickListener() {
findViewById(R.id.btnStandardDialog).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//创建对话框的Builder对象
AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
builder.setTitle("退出考试窗口")
.setMessage("退出考试吗?")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.i("main","退出考试");
}
}).setNegativeButton("放弃", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.i("main","继续考试");
}
});
//创建对话框
AlertDialog dialog = builder.create();
dialog.show();
}
});
}
}
效果:
相关推荐
在Android开发中,自定义对话框(Dialog)是常见的需求,它可以提供更加个性化的用户体验,让用户界面更加符合应用的品牌和风格。"安卓Andriod源码——-styled-dialogs可自定义样式的dialog.zip"是一个关于如何在...
在Android开发中,自定义对话框(Dialog)是常见的用户界面元素,用于向用户展示临时信息或进行简短交互。自定义对话框可以提供比系统默认对话框更多的灵活性,允许开发者根据应用的设计风格和功能需求进行个性化...
在`MDialogs.pas`中,我们可能会看到类似以下的代码片段,用于创建和显示一个自定义对话框: ```pascal uses FMX.Dialogs; var MyDialog: TMessageDialog; begin MyDialog := TMessageDialog.Create(nil); try...
通过分析和运行这个源码,你可以深入理解自定义对话框和PopupWindow的工作原理,学习如何调整布局、添加交互逻辑,以及优化性能和用户体验。此外,还可以探索如何将这些组件融入到自己的应用中,为用户提供更丰富的...
3. **自定义对话框**:如果`flcop`的代码提供了自定义对话框,那么你需要确保它在Delphi XE10.1.2环境下能正常工作。这可能涉及到更新组件版本、适配API变化或者修复兼容性问题。 4. **事件处理**:在`MDialogs.pas...
通过深入理解源码,我们可以更灵活地自定义对话框的外观和行为。例如,对AlertDialog的研究可以帮助我们定制按钮样式、背景颜色等;对PopupWindow的研究则可以让我们控制弹出位置、动画效果等。 在工具方面,...
通过以上步骤,你就可以在Android Studio中创建一个包含三个按钮和一张图片的自定义对话框了。在实际开发中,你还可以根据需求对对话框的样式、动画、尺寸等进行进一步定制,以提供更好的用户体验。
在创建半透明对话框时,我们需要自定义Dialog的主题以达到透明度效果。 1. **自定义主题**: - 在`res/values/styles.xml`文件中,创建一个新的主题,比如`Theme.Translucent.Dialog`,设置`android:...
此篇介绍了如何继承Dialog自定义对话框,内容比较简单,所以我在后面补充了如何使用一款非常优秀的安卓ui框架实现自定义对话框。 同时这也是中国大学慕课移动终端应用开发的网课作业14,我会持续更新我的作业,如果...
通过`AlertDialog.Builder`可以快速创建标准对话框,而自定义对话框则需要利用`Dialog`类和布局文件。了解和熟练掌握对话框的使用,可以提升应用的用户体验,让信息提示和用户交互更加直观和友好。
项目重要技术点: 1-绘制布局,掌握android基本view控件的属性和使用 2-熟练掌握Activity页面展示,跳转和传值 3-使用碎片加载界面,滑动视图切换页面 4-自定义对话框 5-自定义软键盘绘制和使用 6-列表视图以及网格...
在Android开发中,创建自定义对话框(Dialog)是一种常见的用户界面交互方式。标题"安卓Andriod源码——项目启动的时候,弹出的悬浮带有关闭按钮的dialog.zip"表明了这个压缩包包含了一个Android项目,该项目在启动时...
在Android开发中,自定义对话框(Dialog)是一种常见的需求,它可以提供更加个性化的用户体验。本文将详细讲解如何实现一个自定义的右上角带有“X”文字按钮的Dialog,这个按钮可以用来关闭Dialog。 首先,我们需要...
在Android开发中,自定义对话框(Dialog)是常见的需求,它可以提供更加个性化的用户体验,满足开发者对于界面设计的特殊需求。"安卓Andriod源码——HerilyAlertDialog完全自定义的Dialog.zip"是一个示例项目,展示...
列表对话框(ListDialog)可以通过Adapter与ListView配合实现,如下所示: ```java String[] items = {"选项1", "选项2", "选项3"}; AlertDialog.Builder builder = new AlertDialog.Builder(context); builder....
- 讨论了如何创建自定义对话框以及如何处理用户输入。 - 包括Alert Dialog、ProgressDialog等类型的对话框。 10. **第10章:探索ActionBar** - ActionBar是Android 3.0及以上版本提供的标准顶部导航栏。 - 介绍...
3-10-1(列表之ArrayAdapter适配) 3-10-2(列表之SimpleAdapter适配) 3-11(Dialog对话框) 3-12-5(Activity跳转与操作) 3-12-6(横竖屏切换处理) 3-13-1(AIDL_Service测试例子) 3-3(ImageButton图片按钮) 3-4(EditText...
这个压缩包文件"安卓Andriod源码——中实现Iphone样式的AlertDialog.zip"显然是一个包含源代码的资源,用于帮助开发者实现这一目标。在本文中,我们将详细探讨如何在Android中模仿iPhone样式的AlertDialog,并探讨...