自定义控件GridView:实现PopupWindow显示控制方法.pdfVIP

  • 0
  • 0
  • 约9.41千字
  • 约 8页
  • 2026-01-23 发布于北京
  • 举报

自定义控件GridView:实现PopupWindow显示控制方法.pdf

一、自定义控件

几种自定义控件的方式:

1、使用系统现有的控件进行组装2、利

用系统已有的控件,进行功能的扩展3、

继承View或ViewGroup

自定义GridView:

控制PopupWindow的显示

一、创建布:

1、指定背景图2、配置

显示的文字样式

二、在代码中:

1、创建构造函数:

publicMyGridView(Contextcontext,AttributeSetattrs)

1加载布2找到指定的控件3初始化popupWindow4设置

ContentView5设置宽度和高度(通过工具进行转换):pop.setHeight()和

pop.setWight()pop.setHeight(DensityUtil.dip2px(context,

53));pop.setWidth(DensityUtil.dip2px(context,55));6取消背景色:

pop.setBackgroundDrawable(null);7取消默认的动画:

pop.setAnimationStyle(0):-1为默认,0为没有动画pop.set

AnimationStyle(0);

2、重写触摸onTouchEvent

1)准备工作:

*获取到触摸时触摸点x、y的坐标*依据坐标计算,点击的

item信息(position)intposition=pointToPosition(x,y)*

判断position的位置信息是否有效,当为‑1的时候是无效的*处

理:当点击某个球的时候,手指移动到外面,不显示pop*依据位

置信息获取到对应itemTextViewitem=(TextView)

getChildAt(position);*手指按下的

2

显示pop:创建显示pop的方法showPop()

3)手指滑动的显示pop,调用

showPop(item)方法进行显示

4)手指抬起的@隐藏

pop:if(pop.isSho

wing()){pop.dismiss();

一、自定义控件

几种自定义控件的方式:

1、用系统现有的控件进行组装

2、使用系统已有控件,进行功能的扩展

3、继承View或ViewGroup

自定义GridView:

控制PopupWindow的显示

一、创建布:

1、指定背景图

2、配置显示的文字样式

二、在代码中:

1、创建构造函数:

publicMyGridView(Contextcontext,AttributeSetattrs)

①加载布

②找到指定的控件

③初始化popupWindow

④设置ContentView

⑤设置宽度和高度(通过工具进行转换):pop.setHeight()和pop.setWight()

pop.setHeight(DensityUtil.dip2px(context,53));

pop.setWidth(DensityUtil.dip2px(context,55));

⑥取消背景色:pop.setBackgroundDrawable(null);

⑦取消默认的动画:pop.setAnimationStyle(0):-1为默认,0为没有动画

pop.setAnimationStyle(0);

2、重写触摸

文档评论(0)

1亿VIP精品文档

相关文档