项目中用到的AlertDialog自定义相关的内容:
因为很多页面要用到这个打电话的dialog,所以做成一个utils,直接调用。
public static void showFindAitDialog(final Context context) {
View view = View.inflate(context, R.layout.dialog, null);
Button noButton = (Button) view.findViewById(R.id.dialog_btn_no);
Button yesButton = (Button) view.findViewById(R.id.dialog_btn_yes);
TextView titleTV = (TextView) view.findViewById(R.id.dialog_tv_title);
titleTV.setText("call我,有惊喜哦!!!");
noButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
log.dismiss();
}
});
yesButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
log.dismiss();
// 用intent启动拨打电话
String number = "400xxxxxx";
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + number));
context.startActivity(intent);
}
});
log = new AlertDialog.Builder(context).show();
log.setContentView(view);
WindowManager.LayoutParams lp = log.getWindow().getAttributes();
// 模糊度
log.getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
log.getWindow().setAttributes(lp);
lp.alpha = 0.8f;
lp.dimAmount = 0.5f;
}
layout中的dialog就是自定义的视图,直接加载即可。
最后一段代码是设置弹出dialog后背景的半透明效果:
WindowManager.LayoutParams lp = log.getWindow().getAttributes();
// 模糊度
log.getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
log.getWindow().setAttributes(lp);
lp.alpha = 0.8f;
lp.dimAmount = 0.5f;
关于alertdialog弹出后居中显示:
设置dialog的宽和高,之后在dialog外再加一个布局,如LinearLayout,设置这个LinearLayout的宽和高为自适应,这样dialog就能显示设置好的宽和高了。
再在linearlayout中和dialog中加上一行代码: android:layout_gravity="center",这样就可以居中显示了。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" >
<LinearLayout
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/update_shape"
android:orientation="vertical" >
<TextView
android:id="@+id/edit_project_title"
android:layout_width="match_parent"
android:layout_height="43dp"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:textColor="@color/main_blue_color"
android:textSize="18sp" />
<View
android:id="@+id/update_notification_splittor"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_gravity="center_horizontal"
android:background="@color/main_blue_color" />
<ListView
android:id="@+id/edit_project_pop_lv"
android:layout_width="match_parent"
android:layout_height="400dp"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:divider="@color/product_line"
android:dividerHeight="1px"
android:scrollbars="none" >
</ListView>
</LinearLayout>
</FrameLayout>