要做这么一个提示界面。
最开始选用的是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>