Android 显示由无标题的活动生成的对话框

Android 显示由无标题的活动生成的对话框,android,android-activity,Android,Android Activity,我正在显示由活动生成的对话框。对话框活动在onCreate()回调中未设置标题: public class MyDialogActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // set window feature no title reque

我正在显示由活动生成的对话框。对话框活动在
onCreate()
回调中未设置标题:

public class MyDialogActivity extends AppCompatActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // set window feature no title
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.my_dialog);
    ...
  }
  ...
}
我为活动定义了一种风格:

<style name="Theme.MyDialog" parent="@style/Theme.AppCompat.Light.Dialog">
     <item name="android:windowFrame">@null</item>
     <item name="android:windowIsFloating">true</item>
     <item name="android:windowContentOverlay">@null</item>
     <item name="android:windowIsTranslucent">true</item>
     <item name="android:windowNoTitle">true</item>
     <item name="android:windowActionBar">false</item>
     <item name="background">@android:color/transparent</item>
     <item name="android:windowBackground">@drawable/my_bg</item>
 </style>

@空的
真的
@空的
真的
真的
假的
@android:彩色/透明
@可提取/我的背景
在AndroidManifest.xml中:

<activity
       android:name=".MyDialogActivity"
       android:theme="@style/Theme.MyDialog">
</activity>

但是当我显示对话框时,对话框上总是有一个标题(显示我的应用程序的名称)

这很奇怪,不仅因为它仍然显示标题,而且将我的应用程序的名称显示为标题,正如您所看到的,我还没有设置任何标题。这看起来像是安卓的默认行为,但是…如何摆脱标题


(我在安卓5.1.1上运行)

您可以尝试在活动中添加以下样式以模拟对话框:

<style name="Theme.AppCompat.TranslucentDialog" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@color/colorTransparent</item>
    <item name="android:colorBackgroundCacheHint">@null</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>

真的
@彩色/彩色透明
@空的
真的
@android:风格/动画
其中colorTransparent如下所示:

<color name="colorTransparent">#64000000</color>
#64000000
然后将其用于:

<activity
     android:name=".MyDialogActivity"
     android:theme="@style/Theme.AppCompat.TranslucentDialog">
</activity>


您是否尝试过
getSupportActionBar().hide()@SantanuSur在何处调用?或者您也可以尝试一种黑客方法
getWindow().setTitle(“”)在活动中..@LeemI知道在活动中,但知道哪个回调。当加载项onCreate()或onResume()和getWindow()时,我的应用程序崩溃。setTitle(“”)也没有帮助。第二个应用程序没有崩溃,但无法解决问题。这没什么区别。