我正在显示一个由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上运行)
答案 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>