小编Wil*_*lek的帖子

带有AppCompat主题问题的Android DialogFragment

我试图用AppCompat主题创建DialoFragment,但是当我使用AppCompat主题时,没有显示对话框标题.

我使用定义的样式:

<style name="DialogFragment" parent="Theme.AppCompat.Light.Dialog"/>
Run Code Online (Sandbox Code Playgroud)

当父主题将更改为:

<style name="DialogFragment" parent="android:Theme.Material.Light.Dialog"/>
Run Code Online (Sandbox Code Playgroud)

要么

<style name="DialogFragment" parent="android:Theme.Holo.Light.Dialog"/>
Run Code Online (Sandbox Code Playgroud)

标题显示正常.

我的对话代码:

public class InfoDialog extends DialogFragment {

    public static final String TAG = InfoDialog.class.getName();

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        Dialog dialog = super.onCreateDialog(savedInstanceState);
        dialog.getWindow().setTitle(getString(R.string.dialog_title));

        return dialog;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setStyle(DialogFragment.STYLE_NORMAL, R.style.DialogFragment);
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.info_dialog, container, false);
    }
}
Run Code Online (Sandbox Code Playgroud)

是什么原因引起了这个问题?应用程序使用com.android.support:appcompat-v7:22.2.0,也许这是平台错误?

android android-appcompat android-dialogfragment

10
推荐指数
2
解决办法
5258
查看次数