`
104zz
  • 浏览: 1508501 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

Android自定义对话框(Dialog)位置,大小

阅读更多

package angel.devil;

 

import android.app.Activity;

import android.app.Dialog;

import android.os.Bundle;

import android.view.Gravity;

import android.view.Window;

import android.view.WindowManager;

 

public class DialogDemoActivity extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

 

        Dialog dialog = new Dialog(this);

        

        // setContentView可以设置为一个View也可以简单地指定资源ID

        // LayoutInflater

        // li=(LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);

        // View v=li.inflate(R.layout.dialog_layout, null);

        // dialog.setContentView(v);

        dialog.setContentView(R.layout.dialog_layout);

 

        dialog.setTitle("Custom Dialog");

 

        /* 

         * 获取圣诞框的窗口对象及参数对象以修改对话框的布局设置,

         * 可以直接调用getWindow(),表示获得这个Activity的Window

         * 对象,这样这可以以同样的方式改变这个Activity的属性.

         */

        Window dialogWindow = dialog.getWindow();

        WindowManager.LayoutParams lp = dialogWindow.getAttributes();

        dialogWindow.setGravity(Gravity.LEFT | Gravity.TOP);

 

        /*

         * lp.x与lp.y表示相对于原始位置的偏移.

         * 当参数值包含Gravity.LEFT时,对话框出现在左边,所以lp.x就表示相对左边的偏移,负值忽略.

         * 当参数值包含Gravity.RIGHT时,对话框出现在右边,所以lp.x就表示相对右边的偏移,负值忽略.

         * 当参数值包含Gravity.TOP时,对话框出现在上边,所以lp.y就表示相对上边的偏移,负值忽略.

         * 当参数值包含Gravity.BOTTOM时,对话框出现在下边,所以lp.y就表示相对下边的偏移,负值忽略.

         * 当参数值包含Gravity.CENTER_HORIZONTAL时

         * ,对话框水平居中,所以lp.x就表示在水平居中的位置移动lp.x像素,正值向右移动,负值向左移动.

         * 当参数值包含Gravity.CENTER_VERTICAL时

         * ,对话框垂直居中,所以lp.y就表示在垂直居中的位置移动lp.y像素,正值向右移动,负值向左移动.

         * gravity的默认值为Gravity.CENTER,即Gravity.CENTER_HORIZONTAL |

         * Gravity.CENTER_VERTICAL.

         * 

         * 本来setGravity的参数值为Gravity.LEFT | Gravity.TOP时对话框应出现在程序的左上角,但在

         * 我手机上测试时发现距左边与上边都有一小段距离,而且垂直坐标把程序标题栏也计算在内了,

         * Gravity.LEFT, Gravity.TOP, Gravity.BOTTOM与Gravity.RIGHT都是如此,据边界有一小段距离

         */

        lp.x = 100; // 新位置X坐标

        lp.y = 100; // 新位置Y坐标

        lp.width = 300; // 宽度

        lp.height = 300; // 高度

        lp.alpha = 0.7f; // 透明度

 

        // 当Window的Attributes改变时系统会调用此函数,可以直接调用以应用上面对窗口参数的更改,也可以用setAttributes

        // dialog.onWindowAttributesChanged(lp);

        dialogWindow.setAttributes(lp);

 

        /*

         * 将对话框的大小按屏幕大小的百分比设置

         */

//        WindowManager m = getWindowManager();

//        Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用

//        WindowManager.LayoutParams p = getWindow().getAttributes(); // 获取对话框当前的参数值

//        p.height = (int) (d.getHeight() * 0.6); // 高度设置为屏幕的0.6

//        p.width = (int) (d.getWidth() * 0.65); // 宽度设置为屏幕的0.95

//        dialogWindow.setAttributes(p);

 

        dialog.show();

 

    }

}

分享到:
评论

相关推荐

    Android自定义对话框Dialog(界面美化)

    总之,Android自定义对话框Dialog的界面美化是一个涉及布局设计、样式定制、事件处理等多个方面的过程。通过深入理解并实践这些技术,开发者可以创造出更具吸引力和个性化的Dialog,从而提高用户对应用的满意度。

    android自定义对话框、dialog

    总的来说,创建Android自定义对话框需要理解DialogFragment或AlertDialog.Builder的工作原理,以及如何将它们与自定义布局相结合。通过`defineDialog`这样的示例,开发者可以学习到如何从头开始构建一个具有特定功能...

    Android例子源码自定义对话框

    在Android开发中,自定义对话框(Dialog)是常见的需求,它可以为用户提供更丰富的交互体验。自定义对话框可以按照应用程序的设计风格进行定制,包括布局、颜色、按钮样式等,从而提升应用的用户体验。本篇将围绕...

    安卓Android源码——android 自定义对话框.rar

    在安卓开发中,自定义对话框(Dialog)是构建用户界面不可或缺的一部分,它允许开发者提供与用户交互的轻量级窗口。本资源“安卓Android源码——android 自定义对话框.rar”显然包含了关于如何在Android平台上创建和...

    android 自定义对话框

    以上就是关于Android自定义对话框的一些关键知识点。通过熟练掌握这些技巧,开发者可以创建出更加美观、易用的对话框,提升用户体验。在实际项目中,可以根据需求灵活运用,打造出满足各种场景的自定义对话框。

    Android自定义对话框Dialog(界面美化).zip

    在Android开发中,对话框(Dialog)是一种常见的用户交互组件,用于...为了进一步美化Dialog,我们可以自定义对话框的样式。这可以通过在res/values目录下创建一个`styles.xml`文件,定义一个新的主题,例如: ```xml ...

    Android应用源码之android 自定义对话框.zip

    在Android开发中,自定义对话框(Custom Dialog)是一个重要的组件,它允许开发者根据应用程序的UI风格和功能需求创建独特且交互性强的弹出界面。本压缩包中的资源提供了关于如何在Android应用中实现自定义对话框的...

    Android自定义对话框(代码)

    在Android开发中,自定义对话框(Custom Dialog)是一种常用的技术,它允许开发者根据应用的UI风格和功能需求创建个性化的对话框。本教程将详细讲解如何在Android中实现自定义对话框,并提供代码示例。 一、Android...

    酷炫自定义对话框Dialog_确认_取消_进度等

    "酷炫自定义对话框Dialog_确认_取消_进度等"这个主题涵盖了Android应用中常见且实用的几种对话框类型,如确认对话框、取消对话框以及带有进度条的对话框。这些对话框通常用于用户交互,如提示用户进行操作确认、显示...

    Android自定义对话框实现QQ退出界面

    在Android开发中,自定义对话框...通过以上步骤,我们成功地实现了Android自定义对话框,模拟了QQ退出界面的效果。在实际应用中,可以根据项目需求对这个对话框进行进一步的定制和优化,以提供更加个性化的用户体验。

    Androd自定义对话框Dialog视图及参数传递的实现方法

    在Android开发中,自定义对话框(Dialog)是一种常见的需求,尤其当系统默认的样式无法满足设计需求时。本文将详细介绍如何实现一个...以上就是Android自定义对话框Dialog视图及参数传递的实现方法,希望对你有所帮助。

    Android自定义对话框

    一般自定义对话框有三种办法: 1、重写Dialog来实现。 2、获取Dialog的Window对象实现。 3、使用WindowManager来实现。 4、使用DialogTheme来实现。 详细请看:...

    Android编程实现在自定义对话框中获取EditText中数据的方法

    本文实例讲述了Android编程实现在自定义对话框中获取EditText中数据的方法。分享给大家供大家参考,具体如下: 在项目中忽然遇到这样的问题,需要自定义对话框,对话框需要有一个输入框,以便修改所选中的价格,然后...

    Android中自定义对话框的实现

    在Android开发中,自定义对话框(Custom Dialog)是一种常见的用户界面组件,它允许开发者根据应用的风格和需求创建独特的提示或交互界面。本篇将深入探讨如何在Android中实现自定义对话框,并通过示例代码`MyDialog...

    自定义对话框

    在Android开发中,自定义对话框(Dialog)是一种常见的用户界面元素,用于向用户展示临时信息或进行简短交互。自定义对话框可以提供比普通警告对话框更多的灵活性,允许开发者根据应用的品牌和功能需求定制样式和...

    android 自定义对话框.zip源码资源下载

    下面将详细介绍Android自定义对话框的相关知识点。 首先,Android中的对话框通常是通过`Dialog`类或其子类如`AlertDialog`来创建的。`Dialog`继承自`Activity`,而`AlertDialog`则是`Dialog`的一个更具体的实现,常...

    Android编程自定义对话框(Dialog)位置及大小的方法

    Android编程自定义对话框(Dialog)位置及大小的方法 Android对话框(Dialog)是一种常用的用户界面元素,用于与用户交互、提示信息、确认操作等。自定义对话框可以满足特定的需求,例如调整对话框的位置和大小。本文...

    android自定义对话框加动画

    在Android开发中,自定义对话框...综上所述,Android自定义对话框结合动画的应用不仅能够丰富用户体验,还能增强应用的美观度。通过合理的布局设计和动画设置,开发者可以创造出功能强大且具有吸引力的对话框组件。

    Dialog对话框之android 自定义对话框代码

    以下是对"Dialog对话框之android 自定义对话框代码"这一主题的详细说明。 首先,Android中的Dialog类是对话框的基础,它继承自AlertDialog.Builder。创建自定义对话框通常分为几个步骤: 1. **创建布局文件**: ...

Global site tag (gtag.js) - Google Analytics