2023年7月15日发(作者:)
Android中使⽤CardView实现圆⾓对话框前⾔:随着⽤户体验的不断的加深,良好的UI视觉效果也必不可少,以前⽅⽅正正的对话框样式在APP已不复存在,取⽽代之的是带有圆⾓效果的Dialog,之前设置对画框的圆⾓效果都是通过drawable/shape属性来完成,随着Google API的不断更新,API 21(Android 5.0)添加了新的控件CardView,这使得圆⾓的实现更加⽅便快捷。效果图:效果图导⼊CardView依赖(API 21新控件)implementation 't:cardview-v7:26.1.0'1.布局引⽤
android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> android:id="@+id/tv_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorTabClick" android:gravity="center" android:padding="@dimen/dp_10" android:text="温馨提⽰:确定修改维护详情信息?" android:textColor="@color/bg_mainWhite" android:textSize="@dimen/dp_16" /> android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/bg_line" /> android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/bg_line" /> android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal"> android:id="@+id/tv_confirm" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1.0" android:gravity="center" android:text="确定" android:textSize="@dimen/dp_16" />
rnerRadius属性:设置圆⾓的弧度⼤⼩,这⾥设置的为ew还有padding、cardUseCompatPadding(内边距)、background等属性ew继承⾃FrameLayout,使⽤时可以重新嵌套布局2.代码实现/**
* 展⽰对话框
*/
private void showDialog(String title) { //初始化布局⽂件 View dialogView = e(mContext, _layout_test, null); //标题 TextView tvTitle = (TextView) ewById(_title); //确定按钮 TextView tvConfirm = (TextView) ewById(_confirm); //取消按钮 TextView tvCancel = (TextView) ewById(_cancel); //描述信息 TextView tvDes= (TextView) ewById(_des); //设置标题及描述信息 t(title); t("退出当前登录后将要重新登录!"); //确定和取消按钮监听事件 lickListener(new kListener() { @Override public void onClick(View view) { Intent intent = new Intent(mContext,); startActivity(intent); ("退出成功,请重新登录"); getActivity().finish(); s(); } }); lickListener(new kListener() { @Override public void onClick(View view) { s(); } }); mMessageBuilder = new r(mContext); mDialog = (); //设置背景⾊为透明,解决设置圆⾓后有⽩⾊直⾓的问题 Window window=dow(); kgroundDrawable(new ColorDrawable(ARENT)); w(dialogView); celedOnTouchOutside(false);//点击屏幕不消失 (); //设置参数必须在show之后,不然没有效果 Params params = dow().getAttributes(); dow().setAttributes(params);
}使⽤的是V7包的AlertDialog实现的,当然也可以使⽤Dialog实现。总结:CardView实现对话框的圆⾓效果更加的⽅便,不⽤编写shape属性设置背景,当标题栏需要背景⾊时,也⽆需考虑设置标题栏的shape背景(不使⽤CardView时,如果不使⽤shape设置背景⾊,会导致左上和右上不会变成圆⾓)。欢迎转载与评论,谢谢
发布者:admin,转转请注明出处:http://www.yc00.com/news/1689431355a247198.html
评论列表(0条)