微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 如何在DialogFragment的右侧标题上添加图标?

我目前正在使用DialogFragment,但我无法在右上角设置图标.

我看到一些技巧将图标显示为对话框图标:

@Override
 public Dialog onCreateDialog(Bundle savedInstanceState) {
  Dialog myDialog = new AlertDialog.Builder(getActivity())
     .setIcon(R.drawable.ic_info)
     .setTitle(title)
  return myDialog;
 }

但这没有用,因为图标位于左侧,并且不易直接点击

我知道我可以设置自定义布局,但我确信布局会反映所有操作系统和OEM制造商的自定义(相同的样式)

有帮助吗?

解决方法

我知道这是一个古老的问题,很可能已经解决了,但也许有人发现它很有用.

在onCreateView方法上执行以下操作:

@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState)
{
    getDialog().requestwindowFeature(Window.FEATURE_LEFT_ICON);
    // your view related code,inflate or whatever
    ...

这将使用continer准备标题视图以设置图标,但在视图层次结构实例化之后它才会存在,因此您需要在之后调用方法上设置图标,如onActivityCreated,如下所示:

@Override
public void onActivityCreated(Bundle savedInstanceState)
{
     super.onActivityCreated(savedInstanceState);
     getDialog().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,R.drawable.ic_launcher);
}

请务必先调用super方法,否则可以覆盖您的图标.

希望这有助于某人……

来自墨西哥的问候……

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐