现在的位置: 首页 > 综合 > 正文

AlertDialog

2013年08月17日 ⁄ 综合 ⁄ 共 6127字 ⁄ 字号 评论关闭

要做这么一个提示界面。

最开始选用的是AlertDialog但是由于AlertDialog的setview方法设置界面之后,界dialog的上下端都会出现露底。界面之难看明显是不能符合设计要求的。。

然后就考虑了用popwindow来实现但是在实现过程中发现popwindow来做很难把握好界面的宽度和摆放的位置。 其次考虑个人因为研究Dialog已经花去了一些时间使用还是选用Dialog来实现。

最终实现Dialog。。AlertDialog露底必定是在封装Dialog的时候默认实现了一些东西,所以导致我们很难修改,所以选择直接创建Dialog实现。

接着问题就来了,第一,创建的Dialog的宽度怎么设置?

解决办法:考虑到不同机型的适配,所以采用的是根据子控件的内容来设置宽度,在布局文件中又包裹了一个布局,然后在这个布局中来实现和界面的边距。

问题2:样式问题。包括两个样式:一是Dialog的样式,二是布局的样式。

Dialog的样式我是已经解决了,布局的样式就是一些圆角之类的。

由于钻了些胡同所以花费了不少时间。。。

总结遇到问题不要慌,逐步的分析问题的原因,一个一个的解决问题。

 

 

private void alertTelecomFlowDialog() {

 

       LayoutInflaterlayoutInflater = LayoutInflater.from(this);

       ViewdialogView = layoutInflater.inflate(R.layout.dialog_telecom_flow,

              null);

 

       ButtonBtsure = (Button) dialogView.findViewById(R.id.Bt_sure);

       ButtonBtcancel = (Button) dialogView.findViewById(R.id.Bt_cancel);

       finalCheckBox Cbnoagainalert = (CheckBox) dialogView

              .findViewById(R.id.Cb_noagainalert);

 

       finalDialog alertDialog = new Dialog(LogoActivity.this,

              R.style.dialog_telecom_flow);

 

   

       alertDialog.setContentView(dialogView);

 

       Btsure.setOnClickListener(newOnClickListener() {

           @Override

           publicvoid onClick(View v) {

              alertDialog.cancel();

              if(Cbnoagainalert.isChecked()) {

                 

                 

              }

           }

       });

       Btcancel.setOnClickListener(newOnClickListener() {

 

           @Override

           publicvoid onClick(View v) {

 

             

           }

       });

 

       alertDialog.show();

 

    }

 

 

dialog_telecom_flow.xml

<?xml version="1.0"encoding="utf-8"?>

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"

   android:layout_width="wrap_content"

   android:layout_height="wrap_content"

   android:gravity="center"

   android:layout_gravity="center"

   android:background="@drawable/telecom_flow_frame" >

 

 

   <RelativeLayout

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:layout_gravity="center"

       android:layout_marginLeft="40dp"

        android:layout_marginRight="40dp"

       android:gravity="center"

       android:paddingBottom="20dip"

 >

 

       <TextView

           android:id="@+id/Tv_telecom_appname"

           android:layout_width="fill_parent"

           android:layout_height="wrap_content"

           android:layout_marginTop="10dp"

           android:gravity="center"

           android:textColor="@color/zi2"

           android:text="@string/app_name"

           android:textSize="20sp" />

 

       <TextView

           android:id="@+id/Tv_user_instructions"

           android:layout_width="fill_parent"

           android:layout_height="wrap_content"

           android:layout_below="@id/Tv_telecom_appname"

           android:gravity="center"

           android:textColor="@color/zi2"

           android:text="@string/user_instructions"

           android:textSize="19sp" />

 

       <TextView

           android:id="@+id/Tv_flow_explain"

           android:layout_width="fill_parent"

            android:layout_height="wrap_content"

           android:layout_below="@id/Tv_user_instructions"

           android:layout_marginLeft="0dip"

           android:layout_marginRight="0dip"

           android:layout_marginTop="20dip"

           android:textColor="@color/zi2"

           android:text="@string/flow_explain"

           android:textSize="17sp" />

 

       <TextView

           android:id="@+id/Tv_operate_explain"

           android:layout_width="fill_parent"

           android:layout_height="wrap_content"

           android:layout_below="@id/Tv_flow_explain"

           android:layout_marginLeft="0dip"

           android:layout_marginRight="0dip"

           android:textColor="@color/zi2"

           android:layout_marginTop="10dip"

           android:text="@string/operate_explain"

           android:textSize="17sp" />

 

       <RelativeLayout

           android:id="@+id/Rl_noagainalert"

           android:layout_width="fill_parent"

           android:layout_height="wrap_content"

           android:layout_below="@+id/Tv_operate_explain"

           android:layout_marginLeft="0dip"

           android:layout_marginRight="0dip"

           android:layout_marginTop="20dip"

           android:gravity="center_horizontal"

           android:textSize="17sp" >

 

           <CheckBox

               android:id="@+id/Cb_noagainalert"

               android:layout_width="wrap_content"

               android:layout_height="wrap_content"

               android:layout_marginLeft="10dip"

               android:button="@drawable/btn_checkbox"

               android:checked="true" />

 

           <TextView

               android:id="@+id/Tv_operate_explain"

                android:layout_width="fill_parent"

               android:layout_height="wrap_content"

               android:layout_centerHorizontal="true"

               android:layout_centerVertical="true"

               android:layout_marginLeft="2dip"

                android:textColor="@color/zi2"

               android:layout_toRightOf="@id/Cb_noagainalert"

               android:text="@string/sharecheck_textview"

               android:textSize="17sp" />

       </RelativeLayout>

 

       <RelativeLayout

           android:id="@+id/Rl_butten"

           android:layout_width="fill_parent"

           android:layout_height="wrap_content"

           android:layout_below="@+id/Rl_noagainalert"

           android:layout_marginTop="20dip"

           android:gravity="center_horizontal" >

 

           <Button

               android:id="@+id/Bt_sure"

               android:layout_width="60dip"

               android:layout_height="wrap_content"

               android:textColor="@color/white"

               android:background="@drawable/title_button"

               android:text="@string/sure" />

 

           <Button

               android:id="@+id/Bt_cancel"

               android:layout_width="60dip"

                android:layout_height="wrap_content"

               android:layout_marginLeft="20dip"

               android:layout_toRightOf="@id/Bt_sure"

               android:background="@drawable/title_button"

               android:textColor="@color/white"

                android:text="@string/cancel"/>

       </RelativeLayout>

   </RelativeLayout>

 

</RelativeLayout>

抱歉!评论已关闭.