我试图用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,也许这是平台错误?