当前位置:首页 » 安卓系统 » android自定义对话框样式

android自定义对话框样式

发布时间: 2025-10-04 23:03:01

① 如何自定义ios多选对话框 android

Android自定义对话框的思路就是编写对话框的布局文件xml,然后在对话框中显示不同的控件。以下以显示文本控件为例(ImageView等都可以显示)。
1.布局文件connect_dlg.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:background="#ffffffff"
android:orientation="vertical"
android:id="@+id/llToast" >
<TextView
android:layout_height="wrap_content"
android:layout_margin="1dip"
android:textColor="#ffffffff"
android:layout_width="fill_parent"
android:gravity="center"
android:textSize="16sp"
android:background="#FF129de2"
android:id="@+id/tvTitleToast" />
<LinearLayout
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/llToastContent"
android:layout_marginLeft="1dip"
android:layout_marginRight="1dip"
android:layout_marginBottom="1dip"
android:layout_width="wrap_content"
android:padding="15dip"
android:background="#FFFFFFFF" >
<TextView
android:layout_height="wrap_content"
android:paddingRight="10dip"
android:paddingLeft="10dip"
android:layout_width="wrap_content"
android:gravity="center"
android:textSize="16sp"
android:textColor="#FFff6699"
android:id="@+id/tvTextToast" />
</LinearLayout>
<LinearLayout
android:id="@+id/MyLayout_ad2"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="40sp">
<com.tencent.exmobwin.banner.TAdView
android:id="@+id/adview2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="top|right" >
</com.tencent.exmobwin.banner.TAdView>
</LinearLayout>
</LinearLayout>
2.编写显示对话框函数。ShowConnectDialog(String textString)
private void ShowConnectDialog(String textString) {
LinearLayout loginLayout1 = (LinearLayout) getLayoutInflater().inflate(
R.layout.connect_dlg, null);
// adView.
TextView title = (TextView) loginLayout1
.findViewById(R.id.tvTitleToast);
title.setText("系统提示");
TextView text1 = (TextView) loginLayout1.findViewById(R.id.tvTextToast);
text1.setText(textString);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(loginLayout1);
builder.setPositiveButton("下载MobCtrl服务器?", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//处理确定按钮
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 处理取消按钮
finish();
}
});
builder.create().show();
}
3.显示对话框。在需要显示的地方调用即可。
ShowConnectDialog("连接超时,请检查服务器是否开启及IP地址是否输入正确。确保电脑和手机连接在同一个网络内。");

② android如何创建带3个按钮的对话框

1.先在布局界面上,拖进来一个按钮控件,并设置显示的文字,记得保存(Ctrl+S)

之后在代码界面上定义该按钮。

2.新建一个按钮点击的方法。
onClick(View v) :点击之后的动作。

3.设置按钮的点击事件指向我们新建的点击方法。
setOnClickListener:设置点击之后触发的动作。

4.在onClick里添加弹出对话框的代码。
AlertDialog:一个对话框类。
MainActivity.this:对话框显示的位置。
setTitle:设置标题。
setMessage:设置内容。
setPositiveButton:设置对话框的按钮。
show():显示对话框。

至此所有代码已经完成,编译并生成,在Android安卓虚拟机上显示如下。

③ Android UI开发中,设置Activity的什么属性可以使Activity显示为对话框样式.

将activity设置成对话框样式,只需在activity属性里面增加下面一句代码:

④ 怎么使用android软件的搜索功能

当你需要在你的应用程序中提供搜索服务时,通过使用Android的搜索框架,应用程序将显示一个自定义搜索对话框来处理用户的搜索请求。通过一个简单的搜索按钮或从您的应用程序中调用API,搜索对话框就会显示在屏幕的顶部,并会自动显示应用程序图标。

本文将教你如何为你的应用程序提供一个自定义搜索对话框。这样做,给您的用户提供一个标准化的搜索体验,并能增加如语音搜索和搜索建议等功能。

基础知识

Android的搜索框架将代您管理的搜索对话框,您不需要自己去开发一个搜索框,不需要担心要把搜索框放什么位置,也不需要担心搜索框影响您当前的界面。所有的这些工作都由SearchManager类来为您处理(以下简称“搜索管理器”),它管理的Android搜索对话框的整个生命周期,并执行您的应用程序将发送的搜索请求,返回相应的搜索关键字。

当用户执行一个搜索,搜索管理器将使用一个专门的Intent把搜索查询的关键字传给您在配置文件中配置的处理搜索结果的Activity。从本质上讲,所有你需要的就是一个Activity来接收Intent,然后执行搜索,并给出结果。具体来说,你需要的做的事就包括以下内容:

一个搜索配置
我们用个XML配置文件来对搜索对话框进行配置,包括一些功能的配置,如文本框,设置语音搜索和搜索建议中显示的提示文字等。

一个用来处理搜索请求的Activity
这个Activity用来接收搜索查询的内容,然后搜索您的数据并显示搜索结果。

一种用户执行搜索的途径
默认情况下,一旦你配置了一个可搜索的Activity,设备搜索键(如果有)将调用搜索对话框。然而,你应该始终提供另一种手段,让用户可以调用搜索对话框,如在选项菜单中的搜索按钮或其他用户界面上的按钮,因为不是所有的设备提供一个专门的搜索键。

创建一个搜索对话框配置文件

搜索框配置文件是一个用来配置您的应用程序中搜索框的设置的XML文件,这个文件一般命名为searchable.xml,并且必须保存在项目的res/xml/目录下。

配置文件的根节点必须为,可以有一个或多个属性。

⑤ android 的 AlertDialog 对话框样式可以修改吗

Android 提供了AlertDialog类可通过其内部类Builder轻松创建对话框窗口,但是没法对这个对话框窗口进行定制,为了修改 AlertDialog 窗口显示的外观,解决的办法就是创建一个指定的 AlertDialog 和 AlertDialog.Builder 类。

定义外观

我们希望将上面默认的对话框外观修改为如下图所示的新对话框风格:

编写对话框和 Builder 类


⑥ Android开发中,关于对话框中的圆形进度条和Layout的问题

首先解决问题一的问题:
你肯定使用了系统的 oncreateDialog 和 showdialog 方法了,所以 这个就会显示一次 第二次不显示了 , 你应该调用 dialog方法里面的 show()方法 来显示,这样每次显示那个progressbar都会在转圈

问题二:
你说下面设置了一个白色背景,但是下面还是有个框,不过我有个疑问,如果你设置为白色背景,那么你的转条默认是白色的不就看不见了吗?好了这个问题不纠结了!那个黑色的是边框导致的,去掉边框就行了

一般我们采用的是自定义dialog,也就是写一个类来继承dialog,这个时候的构造函数是这个:

public MyDialog(Context context, int theme) {
super(context, theme);
this.context = context;
init();
}

这个theme是什么东西呢? 就是一个style样式 如下:

<resources>    <style name="dialog" parent="@android:style/Theme.Dialog">        <item name="android:windowFrame">@null</item><!--边框--        <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上--      
<item name="android:windowIsTranslucent">false</item><!--半透明--        <item name="android:windowNoTitle">true</item><!--无标题--        <item name="android:windowBackground">@color/transparent</item><!--背景透明--        <item name="android:backgroundDimEnabled">false</item><!--模糊--    </style></resources> 

其他代码:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
Dialog dialog = new MyDialog(this, R.style.MyDialog);

android.view.WindowManager.LayoutParams pa3 = new android.view.WindowManager.LayoutParams();
pa3.height = android.view.WindowManager.LayoutParams.WRAP_CONTENT;
pa3.width = android.view.WindowManager.LayoutParams.WRAP_CONTENT;
pa3.x = 0;//x 起点
pa3.y = 0;//y起点
Window window = dialog.getWindow();
window.setAttributes(pa3);
dialog.show();
return super.onKeyDown(keyCode, event);
}
之所以android.view.WindowManager.LayoutParams我要这么写,因为LayoutParams太多了,我害怕你找半天,兄弟对你够好了吧!
要是选为精彩回答 那就谢谢你了!

⑦ Android如何把QQ登录界面和自定义对话框结合起来

1、在Android打开设置找到模拟器。
2、在模拟器中输入qq账号不输入密码,点击登录按钮会显示提醒对话框。
2、登陆qq后在对话框内输入账号和密码,qq登录的界面和自定义对话框就会结合起来。

⑧ android中的对话框怎么写

Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如onCreateDialog(int),onPrepareDialog(int,Dialog),showDialog(int),dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog).

onCreateDialog(int):当你使用这个回调函数时,Android系统会有效的设置这个Activity为每个对话框的所有者,从而自动管理每个对话框的状态并挂靠到Activity上。这样,每个对话框继承这个Activity的特定属性。比如,当一个对话框打开时,菜单键显示为这个Activity定义的选项菜单,音量键修改Activity使用的音频流。

showDialog(int):当你想要显示一个对话框时,调用showDialog(intid)方法并传递一个唯一标识这个对话框的整数。当对话框第一次被请求时,Android从你的Activity中调用onCreateDialog(intid),你应该在这里初始化这个对话框Dialog。这个回调方法被传以和showDialog(intid)相同的ID。当你创建这个对话框后,在Activity的最后返回这个对象。

onPrepareDialog(int,Dialog):在对话框被显示之前,Android还调用了可选的回调函数onPrepareDialog(intid,Dialog).如果你想在每一次对话框被打开时改变它的任何属性,你可以定义这个方法。这个方法在每次打开对话框时被调用,而onCreateDialog(int)仅在对话框第一次打开时被调用。如果你不定义onPrepareDialog(),那么这个对话框将保持和上次打开时一样。这个方法也被传递以对话框的ID,和在onCreateDialog()中创建的对话框对象。

dismissDialog(int):当你准备关闭对话框时,你可以通过对这个对话框调用dismiss()来消除它。如果需要,你还可以从这个Activity中调用dismissDialog(intid)方法,这实际上将为你对这个对话框调用dismiss()方法。如果你想使用onCreateDialog(intid)方法来管理你对话框的状态(就如同在前面的章节讨论的那样),然后每次你的对话框消除的时候,这个对话框对象的状态将由该Activity保留。如果你决定不再需要这个对象或者清除该状态是重要的,那么你应该调用removeDialog(intid)。这将删除任何内部对象引用而且如果这个对话框正在显示,它将被消除。

下面是几种对话框的效果

图一:

图1效果:该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。


代码:
创建对话框方法dialog()

protected void dialog() {
AlertDialog.Builder builder = new Builder(Main.this);
builder.setMessage("确认退出吗?"); builder.setTitle("提示"); builder.setPositiveButton("确认", new OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss(); Main.this.finish();
}
}); builder.setNegativeButton("取消", new OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}); builder.create().show();
}

在onKeyDown(int keyCode, KeyEvent event)方法中调用此方法

public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
dialog();
}
return false;
}

图2效果:改变了对话框的图表,添加了三个按钮

Dialog dialog = new AlertDialog.Builder(this).setIcon(
android.R.drawable.btn_star).setTitle("喜好调查").setMessage(
"你喜欢李连杰的电影吗?").setPositiveButton("很喜欢",
new OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(Main.this, "我很喜欢他的电影。",
Toast.LENGTH_LONG).show();
}
}).setNegativeButton("不喜欢", new OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(Main.this, "我不喜欢他的电影。", Toast.LENGTH_LONG)
.show();
}
}).setNeutralButton("一般", new OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(Main.this, "谈不上喜欢不喜欢。", Toast.LENGTH_LONG)
.show();
}
}).create(); dialog.show();

图3效果:信息内容是一个简单的View类型

new AlertDialog.Builder(this).setTitle("请输入").setIcon(
android.R.drawable.ic_dialog_info).setView(
new EditText(this)).setPositiveButton("确定", null)
.setNegativeButton("取消", null).show();

图4效果:信息内容是一组单选框

new AlertDialog.Builder(this).setTitle("复选框").setMultiChoiceItems(
new String[] { "Item1", "Item2" }, null, null)
.setPositiveButton("确定", null)
.setNegativeButton("取消", null).show();

图5效果:信息内容是一组多选框

new AlertDialog.Builder(this).setTitle("单选框").setIcon(
android.R.drawable.ic_dialog_info).setSingleChoiceItems(
new String[] { "Item1", "Item2" }, 0,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).setNegativeButton("取消", null).show();

图6效果:信息内容是一组简单列表项

new AlertDialog.Builder(this).setTitle("列表框").setItems(
new String[] { "Item1", "Item2" }, null).setNegativeButton(
"确定", null).show();

图7效果:信息内容是一个自定义的布局

1.布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:background="#ffffffff" android:orientation="horizontal"
android:id="@+id/dialog">
<TextView android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/tvname" android:text="姓名:" />
<EditText android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/etname" android:minWidth="100dip"/></LinearLayout>

2.调用代码

LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.dialog,
(ViewGroup) findViewById(R.id.dialog)); new AlertDialog.Builder(this).setTitle("自定义布局").setView(layout)
.setPositiveButton("确定", null)
.setNegativeButton("取消", null).show();

热点内容
微信手势密码在哪里改 发布:2025-10-05 00:22:07 浏览:101
linux编写shell 发布:2025-10-05 00:21:11 浏览:423
琉璃神社的解压码 发布:2025-10-05 00:15:38 浏览:934
安卓为什么越来越值钱 发布:2025-10-05 00:13:05 浏览:726
win2003配置php 发布:2025-10-05 00:09:05 浏览:81
编译器如何将十进制转为二进制 发布:2025-10-05 00:02:36 浏览:522
c语言arccos 发布:2025-10-05 00:02:32 浏览:995
编译器如何区分成员函数 发布:2025-10-05 00:02:21 浏览:238
cpanelftp密码 发布:2025-10-04 23:56:46 浏览:366
反编译去除检验序列号 发布:2025-10-04 23:54:37 浏览:839