AlertDialog自定义标题有黑色边框

Jac*_*ble 5 android dialog android-layout android-alertdialog

我有一个AlertDialog我使用自定义对话框视图.自定义标题视图的想法似乎很简单,但自定义标题周围有一个黑色边框,我似乎无法摆脱它.顶部,左侧和右侧具有单像素边界,而底侧具有约5像素边界.

用Java创建对话框:

View titleView = inflater.inflate(R.layout.part_list_item, parent, false);
((TextView) titleView.findViewById(R.id.partName)).setText(titleText);
AlertDialog productDialog = new AlertDialog.Builder(getContext())
    .setCustomTitle(titleView)
    .setAdapter(adapter, doNothingClickListener)
    .create();
Run Code Online (Sandbox Code Playgroud)

自定义标题视图布局,part_list_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#ff0000"
    android:id="@+id/partName"
    android:layout_marginLeft="6dip"
    android:textAppearance="?android:attr/textAppearanceLargeInverse"
    />
Run Code Online (Sandbox Code Playgroud)

我所看到的:

截图坏了

我想看到的:

截图已修复

有任何想法吗?

小智 0

这是当您的警报上有标题时 Android 创建的结果。从我可以看到的屏幕截图来看,警报的“正文”也是自定义视图,而不是警报消息属性。

因此,获得所需结果的最简单方法是在警报的自定义视图中添加标题布局。

例子:

View titleView = inflater.inflate(R.layout.part_list_item, parent, false);

View bodyView = ....
bodyView.addview(titleView);
((TextView) itleView.findViewById(R.id.partName)).setText(titleText); 

AlertDialog productDialog = new AlertDialog.Builder(getContext());
productDialog.setView(bodyView);
...

productDialog.create();
Run Code Online (Sandbox Code Playgroud)

bodyView.addview(titleView);在警报正文中添加标题布局。

并将productDialog.setView(bodyView); 自定义视图设置为警报的正文。