显示从没有标题

时间:2018-03-08 16:13:56

标签: android android-activity

我正在显示一个由Activity创建的对话框。对话框活动在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>

在AndroidManifest.xml中:

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

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

这很奇怪不仅因为它仍然显示标题,显示我的应用程序的名称作为标题,你可以看到,我没有&#39 ; t设置任何标题。它看起来像Android默认行为,但是......如何摆脱标题?

(我在Android 5.1.1上运行)

1 个答案:

答案 0 :(得分:0)

您可以尝试将以下样式添加到您的Activity中以模仿对话框:

<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>

其中 colorTransparent 如下:

<color name="colorTransparent">#64000000</color>

然后将其用于:

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