android开发中如何定义一个不规则边界的控件

Android 码拜 9年前 (2015-04-26) 1050次浏览 0个评论
 

android开发中如何定义一个不规则边界的控件
我想定义一个不规则的按钮或者新的组件 可以实现像flash那样的 点击如上图的某一省,那个省的图像就凸起显示的效果 。  据我所知,貌似android的控间都是必须指定 height和width的 也就是每个控件都是长方形的,如果我用framelayout去叠放那些省,然后点击它,就要捕捉控件的点击范围了

有没有人做过相关的功能 ,能否给个思路?帮帮我吧~~

android开发中如何定义一个不规则边界的控件
把这些图片做成button的背景不行么?
android开发中如何定义一个不规则边界的控件
引用 1 楼  的回复:

把这些图片做成button的背景不行么?

不行,因为
button的有效边界都是长方形的,点击时候有些边角会覆盖其他省

android开发中如何定义一个不规则边界的控件
等一天了还是没人 T.T 这个是不是很难?
android开发中如何定义一个不规则边界的控件
不知道楼主有没有换一个想法,根据点击位置的左边来更换背景的效果图,这个算法写起来比较麻烦,不过应该可用。

用户按下的触点的像素位置能够得到,然后根据该位置判断在整张图上的位置(哪个省份)。
然后根据这个省份,来换一张只有那个省份被高亮的背景图。(还可以根据位置画上去个图钉)

android开发中如何定义一个不规则边界的控件
引用 4 楼  的回复:

不知道楼主有没有换一个想法,根据点击位置的左边来更换背景的效果图,这个算法写起来比较麻烦,不过应该可用。

用户按下的触点的像素位置能够得到,然后根据该位置判断在整张图上的位置(哪个省份)。
然后根据这个省份,来换一张只有那个省份被高亮的背景图。(还可以根据位置画上去个图钉)

嗯 这个想法我也想过 ,就是不太懂如何根据每个省的形状去准确确定每个省所分布的x y范围。再不行就要逼我用上面的广告“fusioncharts”去做了

android开发中如何定义一个不规则边界的控件
40分
有这个想法可以将后边的作为画布,点击的时候获取坐标。
然后根据坐标去取画布上坐标点的像素值,看其满足哪个个省份的像素,这样再做处理。
这种方法别忘了那些界点线的像素值
android开发中如何定义一个不规则边界的控件
引用 6 楼  的回复:

有这个想法可以将后边的作为画布,点击的时候获取坐标。
然后根据坐标去取画布上坐标点的像素值,看其满足哪个个省份的像素,这样再做处理。
这种方法别忘了那些界点线的像素值

好提议啊!根据像素去选择范围 ,好,我试试,谢谢你哈

android开发中如何定义一个不规则边界的控件
OpenGL 
android开发中如何定义一个不规则边界的控件
不要用控件,用OpenGL
android开发中如何定义一个不规则边界的控件
布鲁克 言之有理 啊 只是这么大的工作量 估计艾斯童鞋要吐血

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明android开发中如何定义一个不规则边界的控件
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!