自定义Dialog(包含头尾)
dialog_view.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="391dp" android:layout_height="695dp" android:background="@color/white" android:orientation="vertical"> <TextView android:id="@+id/title_tv" android:text="@string/app_name" android:layout_gravity="center" android:gravity="center" android:textSize="16sp" android:textColor="@color/black_title" android:layout_width="wrap_content" android:layout_height="50dp" /> <!--分割线--> <TextView android:layout_marginLeft="@dimen/dp_10" android:layout_marginRight="@dimen/dp_10" android:background="@color/stroke_grey" android:layout_width="match_parent" android:layout_height="0.5dp" tools:ignore="Suspicious0dp" /> <ListView android:id="@+id/lv_job_title" android:divider="@null" android:paddingBottom="20dp" android:layout_width="match_parent" android:layout_height="200dp" /> <TextView android:id="@+id/dismiss_tv" android:text="@string/dismiss" android:background="@color/gray_dismiss" android:layout_gravity="center" android:gravity="center" android:textSize="16sp" android:textColor="@color/white" android:layout_width="match_parent" android:layout_height="53dp" /> </LinearLayout>
private ListView lvJobTitle; private TextView dismissTv; private TextView titleTv; List<CountryCodeListBean.DataDTO> records; private void getJobTitleDialog() { View dialogView = getLayoutInflater().inflate(R.layout.dialog_view, null); lvJobTitle = (ListView) dialogView.findViewById(R.id.lv_job_title); dismissTv = (TextView) dialogView.findViewById(R.id.dismiss_tv); titleTv = (TextView) dialogView.findViewById(R.id.title_tv); titleTv.setText(R.string.Country_Code); if (records != null) { lvJobTitle.setAdapter(new ContryCodeAdapter(records, this)); } AlertDialog.Builder builder = new AlertDialog.Builder(this); // TextView title = new TextView(this); // title.setTextSize(20); // title.setTextColor(Color.BLACK); // title.setGravity(Gravity.CENTER); // title.setText(R.string.Country_Code); final AlertDialog alertDialog = builder .setView(dialogView) // .setPositiveButton("确定", new DialogInterface.OnClickListener() { // @Override // public void onClick(DialogInterface dialog, int which) { // Log.e("wy", "onClick: 点击了确定"); // } // }) // .setNegativeButton("取消", new DialogInterface.OnClickListener() { // @Override // public void onClick(DialogInterface dialog, int which) { // Log.e("wy", "onClick: 点击了取消" + which); // dialog.dismiss(); // } // }) .create(); alertDialog.show(); dismissTv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { alertDialog.dismiss(); } }); lvJobTitle.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Log.e("leo", "onItemClick: " + position); // positionPro = position + ""; alertDialog.dismiss(); areaCodeTv.setText(records.get(position).getCountryCode()); } }); }