当前位置 : 主页 > 手机开发 > android >

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

来源:互联网 收集:自由互联 发布时间:2021-06-11
我目前正在使用DialogFragment,但我无法在右上角设置图标. 我看到一些技巧将图标显示为对话框图标: @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Dialog myDialog = new AlertDialog.Builde
我目前正在使用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方法,否则可以覆盖您的图标.

希望这有助于某人……

来自墨西哥的问候……

网友评论