我有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"
/>
我所看到的:
我想看到的内容:
有什么想法吗?
答案 0 :(得分:3)
试试这个:
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);
答案 1 :(得分: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();
bodyView.addview(titleView);
在警报正文上添加标题布局。
productDialog.setView(bodyView);
将自定义视图设置为警报正文。