Android开发使用PopupWindow在指定View上/下/左/右显示
2018-01-25 14:38
666 查看
PupopWindow动态获取显示的位置,并添加指示箭头
效果图
添加数据的时候,内容和图片的个数应该相同;如果不需要添加图片的话,那么使用第一个和第四个方法,传递的Bitmap=null即可。
LucklyPopupWindow的宽度(必须设置);设置的单位是dp。
默认的情况是没有分割线的。需要调用以下方法。
也就是设置三角形和矩形框的背景颜色
取值范围0.0<=darkBackgroundDegree<=1.0f
注意:这个方法必须最后调用。
请见: https://github.com/MrGaoGang/luckly_popup_window
欢迎Star
效果图
项目地址:(欢迎star)
项目地址:https://github.com/MrGaoGang/luckly_popup_window
使用方法
mLucklyPopopWindow = new LucklyPopopWindow(this); //给popupWindow添加数据 mLucklyPopopWindow.setData(getResources().getStringArray(R.array.popupArray), new int[]{R.mipmap.add, R.mipmap.delete, R.mipmap.modify, R.mipmap.update}); mAdapter.setOnItemClickListener(new RecyclerAdapter.OnItemClickListener() { @Override public void onItemClick(View view, int position) { //必须设置宽度 mLucklyPopopWindow.setWidth(150); //监听事件 mLucklyPopopWindow.setOnItemClickListener(new LucklyPopopWindow.OnItemClickListener() { @Override public void onItemClick(int position) { Toast.makeText(MainActivity.this, "点击的位置" + position, Toast.LENGTH_SHORT).show(); mLucklyPopopWindow.dismiss(); } }); //添加分割线(可选) mLucklyPopopWindow.addItemDecoration(LucklyPopopWindow.VERTICAL,Color.GRAY,1); //设置image不显示(可选) // mLucklyPopopWindow.setImageDisable(true); //设置image的大小(可选) mLucklyPopopWindow.setImageSize(20,20); //显示popopWindow mLucklyPopopWindow.show(getWindow().getDecorView(), view); } });
常用的方法
1、添加数据
添加数据的时候,内容和图片的个数应该相同;如果不需要添加图片的话,那么使用第一个和第四个方法,传递的Bitmap=null即可。void setData(DataBeans[] strings); void setData(String[] data, int[] images); void setData(String[] data, Bitmap[] images); void setData(List<DataBeans> list);
2、设置LucklyPopupWindow的宽度(必须设置)
LucklyPopupWindow的宽度(必须设置);设置的单位是dp。void setWidth(int widthDp);
3、给每一个Item添加分割线
默认的情况是没有分割线的。需要调用以下方法。//可以自己添加RecyclerView的分割线 addItemDecoration(RecyclerView.ItemDecoration itemDecoration); //使用内部封装好了的分割线,传入的参数分别是:方向,颜色,分割线的宽 addItemDecoration(int oritation, int color, int lineHeight);
4、设置背景颜色
也就是设置三角形和矩形框的背景颜色setBackgroundColor(int backgroundColor);
5、设置PopupWindow显示时Activity其余部分显示灰色程度
取值范围0.0<=darkBackgroundDegree<=1.0fsetDarkBackgroundDegree(float darkBackgroundDegree);
6、设置字体的颜色和大小
setTextColor(int textColor); setTextSize(int textSize);
7、设置图片不显示以及设置图片大小
setImageDisable(boolean imageDisable); setImageSize(int widthDp,int heightDp);
8、添加监听事件
void setOnItemClickListener(LucklyPopopWindow.OnItemClickListener onItemClickListener);
9、设置箭头的宽,高,圆角矩形的半径
void setTriangleWidth(int triangleWidth); void setTrianleHeight(int trianleHeight); void setRadius(int radius);
10、在某个View下/上显示(自动判断上下)
注意:这个方法必须最后调用。void show(View parentView, View positionView);
LucklyPopouWindow的使用方法。
请见: https://github.com/MrGaoGang/luckly_popup_window欢迎Star
相关文章推荐
- Android开发使用XML文件定义ImageView的在selected为true和false状态下显示不同的图像
- 【Android开发】网路编程及Internet应用-使用WebView显示网页
- Android开发_WebView组件使用详解_LoadUrl直接显示网页内容
- Android手机开发:ImageView使用和从内存读取图片显示
- Android在指定View的下方显示PopupWindow
- Android开发中使用WebView控件显示找不到网页的解决方法
- Android开发本地及网络Mp3音乐播放器(十六)歌词显示及滚动事件实现、ViewPager使用
- Android自定义Toast,指定Toast信息显示的位置并使用Toast显示其他View
- Android开发本地及网络Mp3音乐播放器(十六)歌词显示及滚动事件实现、ViewPager使用
- Android开发_WebView组件使用详解_LoadUrl直接显示网页内容
- Android 指定Toast信息显示的位置并使用Toast显示其他View
- Android开发第三方库glide和圆形控件circleimageview一起使用第一次进入无法显示问题
- Android开发中使用WebView视图显示网页的注意点
- 【Android 开发】:UI控件之显示图片控件 ImageView 的使用方法
- Android手机开发:图片的放大和缩小显示ImageView
- Android基础教程(一)之------更改与显示文字标签TextView标签的使用
- Android的TextView使用Html来处理图片显示、字体样式、超链接等
- Android的TextView使用Html来处理图片显示、字体样式、超链接等
- Android的TextView使用Html来处理图片显示、字体样式、超链接等
- Android客户端开发即WebView组件的使用详解