首页 > 学院 > 开发设计 > 正文

弹出对话框AlertDialog.Builder使用笔记

2019-11-09 15:15:45
字体:
来源:转载
供稿:网友

因项目需要,需要一个弹出对话框,但对话框的布局和界面不是默认的,而是需要自己自定义的界面

(一)先实例化一个Builder对象

AlertDialog.Builder addDialog = new AlertDialog.Builder(Context);

参数:Context是上下文

(二)自定义布局add_address_dialog.xml,这个布局就是你自己弹出对话框的布局,我这里就要我的

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="#ffffff"     >        <TextView         android:id="@+id/title"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:textSize="26sp"        android:text="新增地址"        />          <View style="@style/horizontal_layout"          android:id="@+id/titleLine"          android:layout_below="@+id/title"          android:layout_width="match_parent"           />                        <TextView           android:id="@+id/contentTitle"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:layout_centerHorizontal="true"          android:layout_below="@+id/titleLine"          android:textSize="20sp"          android:text="当前位置"          />      <LinearLayout            android:id="@+id/contentShow"           android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:layout_centerHorizontal="true"           android:layout_below="@+id/contentTitle"           android:layout_marginTop="20dp"           android:orientation="horizontal"               >      <TextView           android:id="@+id/altitued"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:textSize="20sp"          android:text="经度:"                    />             <TextView           android:id="@+id/altituedText"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:textSize="20sp"          android:text="NULL"          />            <TextView           android:id="@+id/longtitued"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:layout_marginLeft="60dp"          android:textSize="20sp"          android:text="纬度:"          />             <TextView           android:id="@+id/longtituedText"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:textSize="20sp"          android:text="NULL"          />       </LinearLayout>                   <View style="@style/horizontal_layout"          android:id="@+id/contentLine"          android:layout_below="@+id/contentShow"          android:layout_width="match_parent"          android:layout_marginTop="20dp"           />                        <LinearLayout          android:id="@+id/addressEdit"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:layout_below="@+id/contentLine"          android:layout_centerHorizontal="true"          android:orientation="horizontal"           >        <TextView           android:id="@+id/addressName"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:layout_gravity="center_vertical"          android:textSize="18sp"          android:text="地点名称:"          />         <EditText           android:id="@+id/addressNameText"          android:layout_width="300dp"          android:layout_height="wrap_content"          android:textSize="18sp"             />         </LinearLayout>             </RelativeLayout>

(三)将布局转化为View控件

View view = View.inflate(MainActivity.context, R.layout.add_address_dialog, null);

要是不明白参数可以百度一下

(四)只要将转化的View控件加载就可以了

  addDialog.setView(view);//加载自定义布局   addDialog.show();//显示对话框

总结:Builder易用而且还灵活,可以加载自己的布局,而且它还有两个按钮属性addDialog.setPositiveButton(CharSequence text,OnClickListener listener)和addDialog.setNegativeButton(CharSequence text,OnClickListener listener),以我的理解前者是肯定按钮,后者是否定按钮。如果有什么不对的大家可以指正,大家相互交流学习,哈哈,,,


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表