【问题标题】:Using AppCompatDialog Removes titles from the Dialog使用 AppCompatDialog 从对话框中删除标题
【发布时间】:2015-07-07 23:50:03
【问题描述】:

ActionBarActivity 切换到AppCompatActivity 后,我所做的唯一更改之一就是添加以下行:

 <item name="windowNoTitle">true</item>

这是我的整个styles.xml 文件:

<style name="gptheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primaryDark</item>
    <item name="colorAccent">@color/accent</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

<style name="ThemeNoActionBar" parent="gptheme">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

现在,我的代码中所有新的AppCompatDialogs(以前是Dialog d = new Dialog(mContext),虽然我使用setTitle(),但都没有标题。

显然我对windowNoTitle 指定的标题所做的更改,但这只会影响父活动。反正我会想的。

这个新功能究竟是如何工作的?

【问题讨论】:

  • 将父样式设置为 Theme.AppCompat.Light.NoActionbar 并移除 true 属性。
  • @Harry 这似乎不起作用。

标签: android styles android-appcompat appcompatdialog


【解决方案1】:

// style.xml

<style name="DialogActivity" parent="Theme.AppCompat.Dialog">
    <item name="android:windowNoTitle">true</item>
    <item name="colorAccent">#fff</item>
</style>

//清单.xml

<activity
  android:name=".MyPopupActivity"
  android:theme="@style/DialogActivity"/>

// 活动

import android.app.Activity;
public class MyPopupActivity extends Activity
{
  @Override
  protected void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my_popup);
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多