AlertDialog自定义标题具有黑色边框(AlertDialog custom title ha

2019-07-29 01:35发布

我有一个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();

自定义标题视图布局, 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"
    />

我所看到的:

我希望看到的:

有任何想法吗?

Answer 1:

试试这个:

LayoutInflater inflater = (LayoutInflater)yourClass.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View titleView = inflater.inflate(R.layout.custom_dialog, null);

((TextView) titleView.findViewById(R.id.partName)).setText("Your Title");
alert1.setCustomTitle(titleView);


Answer 2:

这是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();

bodyView.addview(titleView); 您警报的身体添加标题布局。

productDialog.setView(bodyView); 设置自定义视图作为警报的身体。



文章来源: AlertDialog custom title has black border