`
ishelf
  • 浏览: 106483 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

源码修改中出现的BadTokenException & Dialog的修改和继承 & 2.2源码中分辨率hdpi设置

阅读更多

      一般来说修改Dialog界面的颜色、背景之类的元素主要涉及的是资源文件修改,不存在源码修改。这里需要提及若是增加或者替换了图片,这里使用make -j2是识别不出来的,为了让其进行最小的编译可以有选择删除下面路径的文件

 

out\target\common\obj\APP\framework-res_intermediates

 

      以上没有涉及Dialog布局方面的修改,若是修改布局最好重载Dialog并定义自己的Theme,在相应的以下几个文件进行修改:

 

attrs.xml  styles.xml themes.xml  
public.xml \\为了让外部类识别该主题

     这里需要注意的是style用于单个布局xml的单个元素,而theme可以将其作为一个单位用在应用中的所有Activity中。重载了Dialog类后在调用该类时需要注意其调用类的类型:

     当调用类继承于WindowManagerPolicy时在Dialog类中的onCreate需要加入以下代码:

 

Window window = getWindow();
window.requestFeature(Window.FEATURE_NO_TITLE);
window.setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);
window.setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
              WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);

     如果调用类是Activity类,则不可以加入该类,否则这两种情况下都会抛出BadTokenException错误(已经通过程序验证,那里如果有错请各位指正O(∩_∩)O~)

 

 

 

    最后一点是在直接编译源码时候

out\target\product\generic\system\framework\framework-res.apk

    中没有hdpi文件夹,虽然在

 

out\target\common\obj\APPS\framework-res_intermediates\public_resources.xml

    hdpi文件夹的资源都已经被编译出来了,可是未能在system.img中有hdpi的资源,从而导致即便是设置480*800的分辨率其模拟器显示的结构依旧是mdpi的资源,因此需要做以下修改

 转载请注明(http://ishelf.iteye.com/blog/809040

 

在文件夹 build\target\product\generic.mk加入

CUSTOM_LOCALES:= hdpi mdpi
分享到:
评论

相关推荐

    ListView&Spinner&Dialog练习

    在Android开发中,ListView、Spinner和Dialog是三个非常重要的组件,它们在构建用户界面时起着关键作用。这里,我们来深入探讨这三个组件以及如何在实际应用中进行实践。 首先,ListView是Android中用于显示一系列...

    安卓Android源码——所有Dialog对话框.zip

    Dialog继承自ContextWrapper,意味着它可以拥有自己的窗口特征和主题,并且可以与应用程序的上下文进行交互。 2. 创建Dialog 创建Dialog通常需要以下步骤: - 创建Dialog的实例,传入Activity的Context。 - 设置...

    安卓Android源码——(Dialog对话框).rar

    Android源码中的Dialog类还提供了许多其他方法,例如setTitle()、setMessage()用于设置对话框的标题和消息文本,setCancelable()用于控制用户是否可以通过点击对话框外部区域关闭对话框。另外,setPositiveButton()...

    Android dialog 大合集源码

    这个“Android dialog 大合集源码”提供了多种对话框的实现,涵盖了Android编程中可能遇到的各种对话框场景,是开发者学习和实践Dialog使用的一个宝贵资源。 1. **基础对话框**: - `AlertDialog`:Android系统中...

    Android应用源码之DialogShow.zip

    这个"Android应用源码之DialogShow.zip"文件很可能是包含了一个完整的Android项目,专门用于展示如何在Android应用程序中创建和使用对话框(Dialog)。通过分析这个源码,我们可以学习到以下几个关键知识点: 1. **...

    安卓Android源码——HerilyAlertDialog完全自定义的Dialog.zip

    3. **设置内容和样式**: 在Builder类中,可以调用`setCustomTitle()`, `setMessage()`, `setView()`等方法来指定Dialog的各个部分。此外,还可以通过`setCancelable()`, `setNegativeButton()`, `.setPositiveButton...

    《详解Dialog——基础元素构建》源码

    以下是根据博客内容和源码解析的一些关键知识点: 1. **Dialog基本使用**: Android中的Dialog是基于AlertDialog类构建的,通常通过`new AlertDialog.Builder(context)`创建一个对话框构造器,然后通过`.setTitle...

    Dialog 和DialogFragment源码

    在Android开发中,Dialog和DialogFragment是两种常用的用于创建弹出式对话框的组件。它们在用户界面交互中扮演着重要角色,允许用户在主应用界面之外进行一些操作而不离开当前活动。这篇博客深入探讨了这两者的源码...

    安卓Andriod源码——实现Windows风格的Dialog.zip

    10. 测试和调试:在开发过程中,开发者会进行多设备测试,确保Dialog在各种屏幕尺寸和分辨率上的显示效果。此外,他们还会使用Logcat等工具进行调试,解决可能出现的问题。 总的来说,这个压缩包提供了一个关于如何...

    Android之对话框Dialog(博客源码)

    在Android开发中,对话框(Dialog)是一种非常重要的组件,用于与用户进行交互,提供临时信息或者接收用户的输入。...通过阅读提供的博客和源码,可以加深对这些概念的理解,并将所学应用到实际的Android开发中。

    Android例子源码实现Windows8风格的Dialog

    在Android中,可以使用`ObjectAnimator`或者`PropertyAnimator`来实现这些动画,使Dialog的出现和消失更加自然。 3. **字体和图标**:Windows 8的字体通常是清晰、简洁的无衬线字体,图标也倾向于扁平化设计。在...

    安卓Android源码——实现Windows风格的Dialog.zip

    通过这个源码包,开发者不仅可以学习如何实现自定义Dialog,还可以了解到如何在Android中进行UI设计和交互实现,这对于提升安卓应用的用户体验和视觉一致性至关重要。同时,理解并实践这些知识点也有助于提升开发者...

    android中使用dialog源码

    在本文中,我们将深入探讨如何在Android中使用Dialog的源码,特别是列表Dialog、自定义布局的Dialog以及其他简单Dialog的创建方法。 首先,Dialog是基于Window构建的,它不占用整个屏幕,而是浮现在Activity之上。...

    dialog源码

    在 `dialog-1.1-20100428` 这个源码包中,你可以找到 Dialog 的全部源代码和编译脚本。通过阅读源码,你可以深入理解 Dialog 如何处理终端输出、读取用户输入以及如何实现各种对话框组件。主要的源文件包括 `dialog....

    从源码看angular material2 中 dialog模块的实现方法.docx

    Angular Material2 中的 Dialog 模块提供了一种优雅的方式来创建模态或非模态对话框,用于展示信息、获取用户输入或执行其他交互操作。在深入源码之前,我们先了解 Dialog 模块的基本使用方法。 1. **引入弹窗模块*...

    其中基本dialog源码

    在Android开发中,Dialog是一种非常重要的组件,它用于在用户界面中显示临时信息或提示,以便用户进行交互。本源码包含7种不同的Dialog对话框的实现,这为开发者提供了丰富的示例,帮助理解如何在实际应用中灵活运用...

    Android高级应用源码-HerilyAlertDialog完全自定义的Dialog.zip

    3. **交互逻辑**:源码中的其他文件可能包含了实现Dialog功能的业务逻辑代码,比如按钮点击事件的处理,数据加载和更新等。 4. **显示与关闭**:在需要使用到自定义Dialog的地方,通过new关键字实例化`...

    js实现dialog 源码包

    在JavaScript编程中,`dialog`通常指的是对话框或者模态框,它是一种用户界面元素,用于向用户显示信息,接收用户输入,或者进行确认操作。本文将深入探讨如何使用JavaScript来实现一个简单的`dialog`功能,包括弹出...

    应用源码之HerilyAlertDialog完全自定义的Dialog.zip

    在Android开发中,自定义Dialog是一项常见的任务,它允许开发者根据需求创建独特且符合应用风格的弹出对话框。这个名为"HerilyAlertDialog"的源码项目,专注于完全自定义的Dialog实现,提供了深入理解Android Dialog...

Global site tag (gtag.js) - Google Analytics