- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
AlertDialog
类的setView()
方法允许为对话框指定自定义 View 。对于可以包含在此自定义 View 中的控件是否有任何限制?
此外,如果我们设置自定义 View ,我们是否仍可以使用 setPositiveButton()
、setNegativeButton()
等添加按钮?
最佳答案
AlertDialog 类的 setView() 方法允许为对话框指定自定义 View 。对于可以包含在此自定义 View 中的控件是否有任何限制?
AlertDialog.Builder 中的setView()
方法接受从 View 扩展的任何类(class)(查看它的子类及其子类)。
这意味着 EditTexts、Buttons 等。还有从 viewGroups 扩展的布局。
此外,如果我们设置自定义 View ,我们是否仍可以使用 setPositiveButton、setNegativeButton 等添加按钮?
是的,它只影响 body 。按钮添加到布局下方。
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
// Get the layout inflater
LayoutInflater inflater = getLayoutInflater();
// Inflate and set the layout for the dialog
// Pass null as the parent view because its going in the dialog
// layout
builder.setView(inflater.inflate(R.layout.YourLayout, null))
.setPositiveButton(AlertDialog.BUTTON_NEGATIVE, "Yes!",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
//
}
})
.setNegativeButton(AlertDialog.BUTTON_NEGATIVE, "Cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
LoginDialogFragment.this.getDialog().cancel();
}
});
return builder.create();
}
更新:
自 2 年前以来,这个答案似乎有了一些新的 Activity ,并且有些事情发生了变化。
我稍微更新了代码以改进格式,并根据最佳实践的当前状态添加了以下提示。
The AlertDialog defines the style and structure for your dialog, but you should use a DialogFragment as a container for your dialog. The DialogFragment class provides all the controls you need to create your dialog and manage its appearance, instead of calling methods on the Dialog object.
上面的例子是指当你扩展DialogFragment
并在onCreateDialog()
回调方法中创建一个AlertDialog
时。
关于android AlertDialog setView 规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14834685/
我的传单 map 中有一个搜索栏,我希望 map 在从搜索栏中选择时缓慢缩放并平移到标记。我可以让它缩放和平移,但不会很慢。我想要的效果类似于当您在 Google 地球中输入一个位置并且 View 从
我正在使用 NSMenuItem 的 setView: 来自定义菜单项,一切都很顺利,直到我在内容 View 中放置一个弹出按钮。当我单击该按钮时,它没有弹出菜单,而是收到以下消息。 Error -2
当我在我的应用程序上进行自定义 toast 时,我注意到 setView 已被弃用。 有人对此有解决方案吗? toast.setView(customView); 最佳答案 由于setView已弃用:
我无法提供 SSCCE,因为我无法在大型应用程序之外重复错误。 但这里是一个片段和输出: if (vp != null) { try {
我想更改标准 Holo.Light 对话框的背景。当我将自定义 View 设置为对话框警报时,它的高度只会增加。 这是我的普通对话代码 AlertDialog.Builder alertDialogB
我想从 python 脚本设置为 clearcase View ,然后在该 View 中执行命令。我已尝试使用此处概述的各种方法: subprocess 但是我还没有成功。有谁知道如何做到这一点? 最
AlertDialog 类的setView() 方法允许为对话框指定自定义 View 。对于可以包含在此自定义 View 中的控件是否有任何限制? 此外,如果我们设置自定义 View ,我们是否仍可以
在我的 Mac OS X 小型应用程序中,我在系统菜单栏中显示一些信息。我用的是 statusItem = [ [[NSStatusBar systemStatusBar] statusIt
我们正在尝试从 gmap 切换到 Leaflet。设置 map 效果很好,我们所有商店的标记也都可以。我使用 leaflet-search 作为搜索城市的内置解决方案。 但它正在按键或类似的东西上工作
我有一个问题。我想制作一个带有增强图像的应用程序,这是我代码的一部分: package com.google.ar.sceneform.samples.augmentedimage; import a
所以我有一个 12 x 9 的“按钮”网格,称为“图 block ”。Tile.java 扩展了小部件“按钮”。 不过,我现在遇到了一个问题,我正在尝试让按钮显示一个 toast,它可以记忆起按下的按
我需要获取在 xml 布局中定义的 EditText,它作为首选项对话框中的 View 动态加载,即: public class ReportBugPreference extends EditTex
我有以下代码,它可以工作,但是缩放非常突然。 map.setView({zoom: 14}); 我试图提供平滑的缩放,类似于 map 控件已经通过单击 +/- 按钮提供的缩放。 2016 年,@rbr
我正试图让它在 sencha fiddle 中工作.如果我运行它,我会在控制台日志中看到这个错误“Uncaught TypeError: controller.setView is not a fun
我在 Windows Phone 的 map 上显示了一条路线。现在我想根据 map 上绘制的路线进行缩放。 我做了以下事情: this.map.SetView(LocationRectangle.C
我有一个用户在我的应用中录制的视频列表。当用户长按 ListView 中的视频名称时,会弹出一个对话框,为用户提供选项:播放、重命名、删除。 Play 为视频播放器提供了一个选择器来播放视频。正常工作
谁能帮我梳理一下使用钩子(Hook)更新 View 参数的正确方法? 目前,我正在使用 React 和 Leaflet 创建一个简单的 map : import React, { useState,
我想向用户显示自定义 toast。但 toast.getView() 和 toast.setView() 在 android studio 中已弃用。 这是我的代码: Toast toast = To
我正在使用 ColdBox 和 ColdFusion 10。我想用 setView() 传递一个参数,比如 id=1000。我找不到任何传递参数的示例。 代码如下: component { // De
鉴于以下代码,我在 WPF 中创建了 Bing map 并添加了两个点(Ind 和 ATL),除了我试图让 map 自动缩放并在两点之间居中之外,一切正常。我收到以下异常。有人对我做错了什么有任何想法
我是一名优秀的程序员,十分优秀!