自定义Dialog
根据需求定义自己的布局Dialog
定义布局
定义样式
创建类并继承Dialog
使用Dialog
定义布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:gravity="center"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<LinearLayout
android:layout_margin="15dp"
android:layout_width="match_parent"
android:orientation="vertical"
android:background="@drawable/bg_alertdialog_talklogistic"
android:layout_height="wrap_content">
<EditText
android:id="@+id/dialog_talklocation_remark"
android:layout_margin="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/anniubg4_n"
android:textColor="@color/black"
android:gravity="start|top"
android:hint="@string/qtxdqwlbzxx"
android:minHeight="80dp"
android:padding="10dp"
android:textColorHint="@color/ztys21"
android:textSize="12sp" />
<TextView
android:id="@+id/dialog_talklocation_btn"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:textColor="@color/white"
android:text="@string/submitLocation"
android:gravity="center"
android:textSize="18sp"
android:layout_marginBottom="10dp"
android:background="@drawable/logistics_info_remarkbtnbg"/>
</LinearLayout>
<ImageView
android:id="@+id/logistics_info_close"
android:layout_marginTop="5dp"
android:layout_marginRight="5dp"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_alignParentRight="true"
android:src="@drawable/ic_talklogistics_close" />
</RelativeLayout>
定义样式
<style name="mystyle" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@color/logisticsInfoDialog</item>
<item name="android:backgroundDimEnabled">true</item>
</style>
创建类并继承Dialog
public class TalkLocationDialog extends Dialog {
public TalkLocationDialog(Context context) {
super(context);
}
public TalkLocationDialog(Context context, int theme) {
super(context, theme);
}
public static class Builder {
private Context context;
public Builder(Context context) {
this.context = context;
}
public TalkLocationDialog create() {
//主题可以换
final TalkLocationDialog dialog = new TalkLocationDialog(context,R.style.mystyle);
View layout = AppUtils.inflate(R.layout.alertdialog_talklocation);
dialog.addContentView(layout, new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
dialog.setContentView(layout);
return dialog;
}
}
}
使用Dialog
TalkLocationDialog alertDialog = new TalkLocationDialog.Builder(WuLiuXinXiActivity.this).create();
alertDialog.show();