您的位置:首页 > 产品设计 > UI/UE

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

2017-02-09 09:38 337 查看
因项目需要,需要一个弹出对话框,但对话框的布局和界面不是默认的,而是需要自己自定义的界面

(一)先实例化一个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),以我的理解前者是肯定按钮,后者是否定按钮。如果有什么不对的大家可以指正,大家相互交流学习,哈哈,,,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息