卸下定制对话框黑色背景

我想删除自定义对话框黑色背景中所示的画面。 我敢肯定,黑色的背景是从对话框,而不是从应用程序的背景。

卸下定制对话框黑色背景

;

AlertDialog代码

public class MyAlertDialog extends AlertDialog { public MyAlertDialog(Context context) { super(context); } public MyAlertDialog(Context context, int theme) { super(context, theme); } }

活动代码

public void showMyDialogOK(Context context, String s, DialogInterface.OnClickListener OkListener) { MyAlertDialog myDialog = new MyAlertDialog(context, R.style.MyDialog2); myDialog.setTitle(null); myDialog.setMessage(s); myDialog.setButton(DialogInterface.BUTTON_POSITIVE ,"Ok", OkListener); myDialog.show(); }

样式

<?xml version="1.0" encoding="utf-8"?> <resources> <style name="MyTheme" parent="@android:style/Theme.NoTitleBar.Fullscreen"> <item name="android:alertDialogStyle">@style/AlertDialog</item> </style> <style name="MyTheme2" parent="@android:style/Theme.Black"> <item name="android:alertDialogStyle">@style/AlertDialog</item> </style> <style name="AlertDialog"> <item name="android:fullDark">@null</item> <item name="android:fullBright">@null</item> <item name="android:topDark">@drawable/popup_top_dark</item> <item name="android:topBright">@null</item> <item name="android:centerBright">@null</item> <item name="android:centerDark">@drawable/popup_center_dark</item> <item name="android:centerMedium">@null</item> <item name="android:bottomDark">@null</item> <item name="android:bottomBright">@null</item> <item name="android:bottomMedium">@drawable/popup_bottom_medium</item> </style> <style name="MyDialog2" parent="@android:Theme.Dialog"> <item name="android:windowBackground">@null</item> <item name="android:buttonStyle">@style/CustomButton</item> </style> <style name="CustomButton" parent="@android:style/Widget.Button"> <item name="android:background">@drawable/button_stateful</item> </style> </resources>

图像资源

popup_center_dark.9.png

popup_bottom_medium.9.png

popup_top_dark.9.png

--------------解决方案-------------

public MyAlertDialog(Context context, int theme) extends AlertDialog {
super(context, theme);
getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
}

你可以像下面创建XML布局和设置对话框(dialog.xml)布局:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:id="@+id/ScrollView01"
android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android" style="@style/white_background_bl_aatharv">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:scrollbars="vertical"
android:scrollbarAlwaysDrawVerticalTrack="true" android:id="@+id/instructions_view">

<TextView android:id="@+id/TextView01" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textColor="#FFFFFF"
android:text="text here " />
</LinearLayout>
</ScrollView>

这里是设置警告对话框布局的代码:

AlertDialog alert = cndtnsbuilder.create();
alert.setView(LayoutInflater.from(
currentactivity.this).inflate(
R.layout.dialog, null));
alert.show();

下面的方法为我工作:

getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

Sonehow getWindow()。setBackgroundDrawable()并没有为我与AlertDialog工作。 我发现用对话更简单的解决方案。 这里是我的代码 -

final Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
dialog.setContentView(R.layout.popup_window);
dialog.show();

您可以为您的对话框中设置样式。

<style name="dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:backgroundDimAmount">0.6</item>
</style>

试图对这个问题的几十个其他的解决方案后,什么结束了对我的工作是:

<style name="translucentDialog" parent="android:Theme.Holo.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
</style>

然后设置对话框我使用这个主题。

我删除我的自定义对话框的黑色背景的代码alertDialog.show()后:

try {
ViewGroup viewGroup1 = (ViewGroup) dialogView.getParent();
if (viewGroup1 != null) {
viewGroup1.setBackgroundResource(android.R.color.transparent);

ViewGroup viewGroup2 = (ViewGroup) viewGroup1.getParent();
if (viewGroup2 != null) {
viewGroup2.setBackgroundResource(android.R.color.transparent);
}
}
} catch (Exception e) {
}

分类:安卓 时间:2012-01-04 人气:244
分享到:

相关文章

  • 如何使用CCR,决策支持系统,VPL(又名微软机器人开发工作室)外的机器人? 2012-10-01

    如何使用CCR,决策支持系统,VPL(又名微软机器人开发工作室)外的机器人? 我期待在这一领域的指导. 我已经尝试了所有的例子,并找到有趣的框架. 任何人都可以发布其他的用途和例子,外机器人? PS. 我找人来解释一些更复杂的东西给我. 我有一个关于不同的实现问题. 如果有人有兴趣,我很愿意为一对一通话(咨询)上的高级主题. 您可以通过电子邮件,相同的名称,在这里我联系. --------------解决方案------------- 我能找到的最好的资源是这样的: 专业微软机器人开发工作室凯尔

  • libgdx Android的风格轻扫 2014-02-21

    如何实现机器人留下的风格和使用libgdx右轻扫? (例如:通过imgaes翻转) 我读到GuesterDetector和测试用例 http://code.google.com/p/libgdx/source/browse/trunk/tests/gdx-tests/src/com/badlogic/gdx/tests/GestureDetectorTest.java?r=2641. 但我不能肯定后一度guester identfied如何实现Android的风格左,右轻扫,以及如何左右轻扫之间

  • 多的父母在Android的风格XML 2012-04-13

    当使用Android的风格,可以指定一个父风格,如: <style name="MyStyle" parent="@style/ParentStyle"></style> 是,可以指定多个父? 如果是这样,怎么样? --------------解决方案------------- 根据文档中,语法parent属性值是@[package:]style/style_to_inherit其中package:是可选的),所以引用只是一个单一的样式资源被

  • Android中风格层次 - 什么是重要的顺序? 2014-09-17

    我有我的工作适用于它在Android清单上的主要活动本身就是一个自定义主题的android应用. 该活动将创建一个列表视图,它有适用于它的风格. 如果我为列表视图创建一个自定义的布局,包括对行本身一个单独的XML文件,我直接将样式应用到这些布局,这是否覆盖风格的应用程序的整体风格? 我试图让事件的层次把握尽可能造型和更换主题皮肤是如何工作的. 我猜测它的作品在我的例子的方式是:申请行样式,按行布局XML中引用>总体列表视图,通过列表视图布局XML中引用应用样式>从自定义主题,由Android清

  • 我可以将Android的风格不同的包名? 2015-01-29

    例如,我引用了Android的风格...... @android:style/... 和我自己的应用程序样式... @style/... 但如何将我的风格分成等名称的包? 例如 @somePackage:style/... --------------解决方案------------- 不幸的是,你不能. 你可能会认为Android的图书​​馆可以帮助你,但事实并非如此. 这是因为Android的库是"物理"合并到主应用程序时,资源被编译. 所以从aapt的角度来看,您的应用程序的资源

  • 机器人:在Android改变标签的风格和高度? 2013-01-23

    我使用的标签,其中标签按钮添加情节性,我的要求是,以减少标签按钮的高度,给自定义样式的标签button.I现在用下面的android 1.5.My代码给出 tabHost.addTab(tabHost.newTabSpec(LIST1_TAB_TAG).setIndicator(LIST1_TAB_TAG).setContent(new TabContentFactory() { public View createTabContent(String arg0) { return listVie

  • 聊天机器人的对话对象,你的做法? 2013-03-25

    我是比较新的节目,我已经开始工作在最近的一个项目是一个IRC频道,我经常在python聊天机器人. 我的目标之一是要有能够非常基本保持它与用户的对话具有跟踪机器人. 目前我使用一个对象的谈话. 当用户解决了机器人,它创建一个新的康沃对象,并​​存储日志交谈中,当前主题等在该对象的. 当用户说,如果他们的消息谈话的主题相匹配,它会根据他们所说的内容的响应和新的课题. 例如,如果机器人连接,以及一个用户说:"你好,机器人." 通话将被创建和主题设置为"问候语". 机器人

  • 如何修复android.os.DeadObjectException机器人X 2014-03-06

    当机器人解除我创建(service.MyService)服务,我看到下面的DeadObjectException. 你能告诉我怎么这是什么意思,我可以解决这个例外? W/ActivityManager( 583): Exception when unbinding service com.mycompany/.service.MyService W/ActivityManager( 583): android.os.DeadObjectException W/ActivityManager( 5

  • 机器人:对话等恢复旋转而改变后 2013-02-26

    如何旋转屏幕后恢复对话等? 例如,弹出一个alertDialog来告诉用户一些信息. 然后用户旋转屏幕到另一个方向. 如何恢复alertDialog? 任何一个可以指导我做呢? 谢谢! 后来追加: 我调查了Android源代码,并发现这些东西: 对话框都存储在mManagedDialogs以及相关的信息是: mManagedDialogs = new SparseArray<ManagedDialog>(); onSaveInstanceState相关: final void performS

  • 驳回机器人正在进行的对话 2012-03-17

    在我的Andr​​oid应用程序,我使用的视频播放视频view.While视频被越来越下载我显示进度对话框. 有时,当不支持或者有一些错误时显示错误消息到screen.After错误消息的确定单击进度对话再次表明了消息,并尝试下载流. 但我想驳回这一对话如果有任何错误messgae,一旦用户点击确定,并返回到视频播放器 从而用户可以通过一个或下一个视频. private ProgressDialog mProgressDialog; Handler myUiHandler = new Handl

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.921 (s). 11 q(s)