带三角形的dialog制作
带小三角的dialog,带三角形下拉框,微信带小三角下拉框,带小三角弹出框,自定义dialog2016-07-16
最近在公司做项目时遇到了做一个带小三角的dialog的功能,像微信里带三角形的下拉框,这个东西在项目里常常用到,所以今天特意整理了一下,写出来,包括demo,供大家学习讨论,有疑问可以留言。
首先大家可以看一下效果图:
这个项目呢没什么代码量,主要工作量都在xml布局文件里,学习了这个项目后,相信你的布局水平会有一个质的提高,对美化常用控件会有很大的提高。
下面我来讲解一下思路,首先毫无疑问这是一个dialog,只不过dialog的布局文件是自己额外设计的;设计完dialog的布局后,使用dialog时我们首先隐藏它的标题,然后用代码动态设置dialog显示的位置就好了。下面是我展示dialog并且确定它位置的代码,dialog_triangle_common是我自己设计的dialog内容布局文件
//带小三角的dialog
private void showTriangleDialog(){
View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_triangle_common, null);
dialog=new Dialog(getActivity(),R.style.transparentFrameWindowStyle);
dialog.setContentView(view, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
window =dialog.getWindow();
WindowManager.LayoutParams lp=window.getAttributes();
window.setGravity(Gravity.RIGHT | Gravity.TOP);
lp.x=35;
lp.y=100;
window.setAttributes(lp);
dialog.setCanceledOnTouchOutside(true);
dialog.show();
}