web-dev-qa-db-ja.com

Android DialogFragmentタイトルが表示されない

カスタムDialogFragmentを作成するとき、次を使用してタイトルを設定します。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View v = inflater.inflate(R.layout.fragment_dialog_add, container, false);      

    // Setting title here
    getDialog().setTitle("Add New");

    return v;
}

上記のコードは、23より古いAPIレベルで正常に機能します。API23の場合、タイトルはまったく表示されません。

理由は何ですか? API 23でタイトルを表示する方法は?

39
TareK Khoury

以下をstyles.xmlに追加して解決しました。

<item name="Android:dialogTheme">@style/CustomDialog</item>

<style name="CustomDialog" parent="@style/Theme.AppCompat.Light.Dialog">
    <item name="Android:windowNoTitle">false</item>
</style>
57
TareK Khoury

あなたのスタイルで:

<style name="CustomDialog" parent="@style/Theme.AppCompat.Light.Dialog">
    <item name="Android:windowNoTitle">false</item>
</style>

ダイアログがフラグメントの場合:

MyFragment myFragment = new MyFragment();
myFragment.setStyle(DialogFragment.STYLE_NORMAL, R.style.CustomDialog);
44
Hpsaturn