Android 自定义对话框显示 Android 标题栏

发布于 2024-09-26 22:41:46 字数 2994 浏览 3 评论 0原文

我制作了一个像这样的 xml 文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:gravity="bottom"
              android:layout_gravity="bottom"
              android:background="#04600F"
              android:padding="10dp">

              <TextView android:id="@+id/txtMessage"
                        android:layout_width="fill_parent" 
                        android:gravity="center"
                        android:layout_height="wrap_content"/>

              <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                              android:orientation="horizontal"
                              android:layout_width="fill_parent"
                              android:layout_height="wrap_content">

                            <Button android:id="@+id/btnOne"
                                    android:layout_width="wrap_content" 
                                    android:layout_height="wrap_content"
                                    android:textSize="20dip"
                                    android:textColor="#ffffff"
                                    android:layout_alignParentLeft="true"
                                    android:background="@drawable/black_menu_button"
                                    android:layout_marginLeft="5dip"
                                    android:layout_centerVertical="true"
                                    android:layout_centerHorizontal="true"/> 

                            <Button android:id="@+id/btnTwo"
                                    android:layout_width="wrap_content" 
                                    android:layout_height="wrap_content"
                                    android:textSize="20dip"
                                    android:textColor="#ffffff"
                                    android:layout_alignParentRight="true"
                                    android:background="@drawable/blue_menu_button"
                                    android:layout_marginRight="5dip"
                                    android:layout_centerVertical="true"
                                    android:layout_centerHorizontal="true"/>
              </RelativeLayout>
</LinearLayout>

我尝试像这样访问它:

    final Dialog dialog = new Dialog(ctx,android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
    dialog.setContentView(R.layout.myxml);
.....

它在屏幕上看起来完全是我想要的,在它的底部。我的应用程序在 AndroidManifest 上进行了以下设置:

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

我所做的唯一缺点是,只要我的对话框可见,Android 标题栏(带有电池/信号...的标题栏)就会可见。我怎样才能禁用它?

稍后编辑

谢谢您向我指出,解决方案确实相当简单

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

I have made an xml file like this:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:gravity="bottom"
              android:layout_gravity="bottom"
              android:background="#04600F"
              android:padding="10dp">

              <TextView android:id="@+id/txtMessage"
                        android:layout_width="fill_parent" 
                        android:gravity="center"
                        android:layout_height="wrap_content"/>

              <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                              android:orientation="horizontal"
                              android:layout_width="fill_parent"
                              android:layout_height="wrap_content">

                            <Button android:id="@+id/btnOne"
                                    android:layout_width="wrap_content" 
                                    android:layout_height="wrap_content"
                                    android:textSize="20dip"
                                    android:textColor="#ffffff"
                                    android:layout_alignParentLeft="true"
                                    android:background="@drawable/black_menu_button"
                                    android:layout_marginLeft="5dip"
                                    android:layout_centerVertical="true"
                                    android:layout_centerHorizontal="true"/> 

                            <Button android:id="@+id/btnTwo"
                                    android:layout_width="wrap_content" 
                                    android:layout_height="wrap_content"
                                    android:textSize="20dip"
                                    android:textColor="#ffffff"
                                    android:layout_alignParentRight="true"
                                    android:background="@drawable/blue_menu_button"
                                    android:layout_marginRight="5dip"
                                    android:layout_centerVertical="true"
                                    android:layout_centerHorizontal="true"/>
              </RelativeLayout>
</LinearLayout>

And I try to access it like this:

    final Dialog dialog = new Dialog(ctx,android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
    dialog.setContentView(R.layout.myxml);
.....

It looks on the screen exactly how I want it, on the bottom of it. My application has the following set on AndroidManifest:

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

The only draw back of what I did is the fact that the Android title bar (the one with battery/signal... ) becomes visible as long as my Dialog is visible. How can I disable it ?

Later edit

Thank you for pointing that to me, the solution was fairly simple indeed

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

人间☆小暴躁 2024-10-03 22:41:46

解决方案非常简单,尝试下面的代码:

final Dialog dialog = new Dialog(ctx,android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.myxml);

The solution was very simple, try the code below:

final Dialog dialog = new Dialog(ctx,android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.myxml);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文