自定义dialog 默认的显示位置是window 的位置
我们可以通过dialog或者窗口对象 window 然后通过window 去设置dialog的上下中的位置
例如 dialoggetWindow(); 得到window对象
windowsetGravity(GravityCENTER); 中间位置
windowsetGravity(GravityBOTTEM); 底部位置
windowsetGravity(GravityTOP); 顶部位置
等等 上下左右你都可以去设置
现在我们设定了dialog在wendow 中的位置 然而这样并不能满足我们的需求 我想dialog 显示在距离顶部有一段距离的地方显示 例如距离顶部100 的位置该怎么办呢
有办法 仍然是通过window去设置
WindowManagerLayoutParams params = windowgetAttributes(); 获取window 的params 然后给params去设置x y 参数即可 我们设置的 x y 是相对值 相对自身位置的偏移量 负值无效(显而易见 x 是代表水平方向的偏移 y 代表竖直方向的偏移)
简单举个栗子
当参数值包含GravityLEFT时,对话框出现在左边,所以paramsx就表示相对左边的偏移
当参数值包含GravityRIGHT时,对话框出现在右边,所以paramsx就表示相对右边的偏移
当参数值包含GravityTOP时,对话框出现在上边,所以paramsy就表示相对上边的偏移
当参数值包含GravityBOTTOM时,对话框出现在下边,所以paramsy就表示相对下边的偏移
注意 负值无效
1
2
3
4
5
还是刚才那个需求 我有一个dialog 想让它显示在距离顶部100 的位置
AlertDialogBuilder builder
开通VIP 解锁文章
打开CSDN APP,看更多技术内容
Android开发之Dialog位置以及透明度的设置_sengeiou的博客
Android开发之Dialog位置以及透明度的设置 android中我们经常会用AlertDialog来显示对话框。通过这个对话框是显示在屏幕中心的。但在某些程序中,要求对话框可以显 示在不同的位置。例如,屏幕的上方或下方。要实现这种效果。就需要获得对话框的
继续访问
Android设置Dialog的屏幕位置、背景、大小_wangsf1112的博客-CSDN博
1 设置Dialog在窗口底部,且宽度最大。 可以使用DialogFragment实现底部d窗布局(>});
dialog d窗使用很方便,我们都知道 Activity 也能搞成 dialog 形式,更加方便,下面我们下一个 dialog 样式的Activity 吧:
或者
仔细的朋友可能会发现这两个style 导致的是不一样的,第二个的d窗周边是圆角,第一个是尖角。
剩下的发挥就看你自己了,在自己在 Activity 内写自己需要的逻辑就行了。。
Android
如何监听返回键点击事件,并创建一个退出对话框,
防止自己写的应用程序不小心点击退出键而直接退出。自己记录下这个简单的demo,备用。
注:如下代码当时是从网上copy过来的,现在忘了它出自哪个原作者了,在此说声抱歉。
源码如下:
[html]
view
plaincopy
public
class
BackKeyTest
extends
Activity
{
/
Called
when
the
activity
is
first
created
/
@Override
public
void
onCreate(Bundle
savedInstanceState)
{
superonCreate(savedInstanceState);
setContentView(Rlayoutmain);
}
@Override
public
boolean
onKeyDown(int
keyCode,
KeyEvent
event)
{
if
(keyCode
==
KeyEventKEYCODE_BACK
)
{
//
创建退出对话框
AlertDialog
isExit
=
new
AlertDialogBuilder(this)create();
//
设置对话框标题
isExitsetTitle("系统提示");
//
设置对话框消息
isExitsetMessage("确定要退出吗");
//
添加选择按钮并注册监听
isExitsetButton("确定",
listener);
isExitsetButton2("取消",
listener);
//
显示对话框
isExitshow();
}
return
false;
}
/监听对话框里面的button点击事件/
DialogInterfaceOnClickListener
listener
=
new
DialogInterfaceOnClickListener()
{
public
void
onClick(DialogInterface
dialog,
int
which)
{
switch
(which)
{
case
AlertDialogBUTTON_POSITIVE://
"确认"按钮退出程序
finish();
break;
case
AlertDialogBUTTON_NEGATIVE://
"取消"第二个按钮取消对话框
break;
default:
break;
}
}
};
}
小结:
Android手机常用的三个键,home键,back键及menu键。
在应用程序里我们经常会对它们经常进行一定的处理,方便用户使用。
首先我们要明确点击三个键时系统干了什么事,
如果没有进行监听处理,
点击home键时,系统默认只执行应用程序的当前显示的Activity的onStop()方法后跳出界面。
而点击back键时,系统默认执行的是应用程序当前Activity的finish()方法后跳出界面。
而点击menu键时,系统默认不进行任何处理。
这里只是一个简单的应用demo,我们可以根据自己的需要设计一个更完美的退出程序对话框。
也可以在监听到返回事件后进行其他处理,等等。
以上就是关于windowdialog在哪全部的内容,包括:windowdialog在哪、android dialog 可以获取到button点击事件,但是获取不到输入的值、Android dialog Activity 使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)