转于:http://blog.csdn.net/luck_apple/article/details/6874491
-------------------------------------------------------------------------------
先看效果:
这是我做的一个拨号器强的面板,拨号的时候会查询手机中的联系人,显示在拨号面板上方,点击弹出透明对话框供选择。
这次重点是透明对话框。
先看对话框的theme,style文件:
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <style
- name="selectorDialog"
- 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">@drawable/selector_dialog_bg</item><!--背景透明-->
- <item name="android:backgroundDimEnabled">false</item><!--模糊-->
- <item name="android:backgroundDimAmount">0.6</item>
- </style>
- </resources>
对话框背景@drawable/selector_dialog_bg:
- <?xml version="1.0" encoding="utf-8"?>
- <shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="rectangle">
- <solid android:color="#333333"/>
- <stroke
- android:width="2dp"
- android:color="#99CC33" />
- <padding
- android:left="5dp"
- android:top="5dp"
- android:right="5dp"
- android:bottom="5dp" />
- <corners android:radius="8dp" />
- </shape>
然后是对话框的布局:
- <?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="wrap_content"
- android:orientation="vertical" >
- <ListView
- android:id="@+id/selector_dialog_listview"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:cacheColorHint="#00000000"
- android:scrollbars="none"
- android:dividerHeight="1.0dip"
- android:divider="#C4C4C4" />
- </LinearLayout>
程序中:
- final View view = LayoutInflater.from(this).inflate(R.layout.selector_dialog, null);
- selectorDialog = new Dialog(DialerActivity.this, R.style.selectorDialog);
- selectorDialog.setContentView(view);
- final BaseAdapter adapter = new SelectorAdapter(DialerActivity.this, selectorList);
- ListView listView = (ListView) view.findViewById(R.id.selector_dialog_listview);
- listView.setOnItemClickListener(new OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- //对话框中事件处理
- }
- });
- listView.setAdapter(adapter);
- selectorDialog.show();
- selectorDialog.setCanceledOnTouchOutside(true);
- WindowManager windowManager = getWindowManager();
- Display display = windowManager.getDefaultDisplay();
- WindowManager.LayoutParams lp = selectorDialog.getWindow().getAttributes();
- lp.width = (int)(display.getWidth() * 0.9);
- if(selectorList.size() > 7) {
- lp.height = (int)(display.getHeight() * 0.9);
- }
- lp.alpha = 0.8f;
- selectorDialog.getWindow().setAttributes(lp);
其实主要是通过WindowManager.LayoutParams给对话框设置属性。
相关推荐
总的来说,创建Android自定义对话框需要理解DialogFragment或AlertDialog.Builder的工作原理,以及如何将它们与自定义布局相结合。通过`defineDialog`这样的示例,开发者可以学习到如何从头开始构建一个具有特定功能...
本资源“安卓Android源码——android 自定义对话框.rar”显然包含了关于如何在Android平台上创建和定制对话框的源代码示例。通过这个压缩包,我们可以学习到如何摆脱系统默认样式,设计出更符合应用风格的对话框。 ...
以上就是关于Android自定义对话框的一些关键知识点。通过熟练掌握这些技巧,开发者可以创建出更加美观、易用的对话框,提升用户体验。在实际项目中,可以根据需求灵活运用,打造出满足各种场景的自定义对话框。
在Android开发中,自定义对话框...通过以上步骤,我们成功地实现了Android自定义对话框,模拟了QQ退出界面的效果。在实际应用中,可以根据项目需求对这个对话框进行进一步的定制和优化,以提供更加个性化的用户体验。
总之,Android自定义对话框Dialog的界面美化是一个涉及布局设计、样式定制、事件处理等多个方面的过程。通过深入理解并实践这些技术,开发者可以创造出更具吸引力和个性化的Dialog,从而提高用户对应用的满意度。
在Android开发中,自定义对话框(Custom Dialog)是一个重要的组件,它允许开发者根据应用程序的UI风格和功能需求创建独特且交互性强的弹出界面。本压缩包中的资源提供了关于如何在Android应用中实现自定义对话框的...
一般自定义对话框有三种办法: 1、重写Dialog来实现。 2、获取Dialog的Window对象实现。 3、使用WindowManager来实现。 4、使用DialogTheme来实现。 详细请看:...
在Android开发中,自定义对话框(Dialog)是常见的需求,它可以为用户提供更丰富的交互体验。自定义对话框可以按照应用程序的设计风格进行定制,包括布局、颜色、按钮样式等,从而提升应用的用户体验。本篇将围绕...
下面将详细介绍Android自定义对话框的相关知识点。 首先,Android中的对话框通常是通过`Dialog`类或其子类如`AlertDialog`来创建的。`Dialog`继承自`Activity`,而`AlertDialog`则是`Dialog`的一个更具体的实现,常...
在Android开发中,自定义对话框(Custom Dialog)是一种常用的技术,它允许开发者根据应用的UI风格和功能需求创建个性化的对话框。本教程将详细讲解如何在Android中实现自定义对话框,并提供代码示例。 一、Android...
在Android开发中,自定义对话框...综上所述,Android自定义对话框结合动画的应用不仅能够丰富用户体验,还能增强应用的美观度。通过合理的布局设计和动画设置,开发者可以创造出功能强大且具有吸引力的对话框组件。
本资源"安卓Android源码——android 自定义对话框.zip"包含了实现自定义对话框的源代码,这对于理解和实践Android应用的界面定制具有重要意义。 首先,我们要理解Android系统提供的默认对话框类`AlertDialog`和`...
这篇博客文章“Android自定义对话框的使用”深入探讨了如何在Android项目中创建和使用自定义对话框。 首先,我们了解自定义对话框的基本概念。对话框(Dialog)是Android中的一个窗口,它浮于应用程序之上,用于向...
在Android应用开发中,自定义...通过这个示例项目,你可以深入理解Android自定义对话框的实现原理,以及如何在实际项目中应用。同时,也可以借此机会提高对Android源码阅读和分析的能力,进一步提升你的开发技能。
通过研究这个项目,你可以更好地理解和掌握Android自定义对话框的实践技巧,从而在自己的项目中灵活运用。无论是学生的学习、个人的技能提升还是公司的项目开发,这个源码都是一个很好的参考资料。
在Android开发中,自定义对话框(Custom Dialog)是一个重要的组件,它允许开发者根据应用程序的UI风格和功能需求创建独特且具有交互性的弹出窗口。本资料“安卓开发-android 自定义对话框.zip”可能包含一系列关于...
在Android开发中,自定义对话框(Custom Dialog)是一种常见的用户界面组件,它允许开发者根据应用的风格和需求创建独特的提示或交互界面。本篇将深入探讨如何在Android中实现自定义对话框,并通过示例代码`MyDialog...