Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为Android开发替代用户界面。我该走哪条路?_Android_Animation_Android Layout - Fatal编程技术网

为Android开发替代用户界面。我该走哪条路?

为Android开发替代用户界面。我该走哪条路?,android,animation,android-layout,Android,Animation,Android Layout,我正在为Android开发一个应用程序,其中我需要一个UI,该UI需要以下内容: 重新绘制至少10fps 屏幕上的按钮,但不是矩形 如果整个屏幕或至少是背景对系统来说太重,则需要在渲染前进行一些“波特·达夫”掩蔽 我目前想出了两种方法,两者都有利弊: 从框架中的现有视图-视图组开始。覆盖onDraw以向其添加遮罩。这更容易实现,但我不确定调用“invalidate”是否会导致任何问题 构建另一个视图-视图组结构,并在SurfaceView中进行渲染。但后来我意识到我找到了一个与框架中现有的结构非

我正在为Android开发一个应用程序,其中我需要一个UI,该UI需要以下内容:

重新绘制至少10fps

屏幕上的按钮,但不是矩形

如果整个屏幕或至少是背景对系统来说太重,则需要在渲染前进行一些“波特·达夫”掩蔽

我目前想出了两种方法,两者都有利弊:

从框架中的现有视图-视图组开始。覆盖onDraw以向其添加遮罩。这更容易实现,但我不确定调用“invalidate”是否会导致任何问题

构建另一个视图-视图组结构,并在SurfaceView中进行渲染。但后来我意识到我找到了一个与框架中现有的结构非常接近的结构,我觉得在框架中做的事情几乎是一样的

有什么建议吗


另外,无论如何,我都不知道该如何捕捉按钮“点击”事件,它的形状不规则

按钮很简单。只需在布局中添加一个按钮视图,并使用XML定义自己的自定义图像

android:background="@drawable/my_button_background"

边界将自动定义为可绘制对象的边界。简单易用。

为什么不使用opengl?这些视图并不是为了让人耳目一新,因为对于这样一个2D场景来说,toftengl似乎有些过火,而且过于复杂。事实上,我在一个视图上测试了onDraw->invalidate,它仍然可以正常工作,每帧大约57毫秒,还有我的全屏porter duff。此外,SurfaceView旨在刷新:Falmari,你认为Android中的动画是如何发生的?当然,它们是用来经常提神的。他们经常被要求更频繁地刷新。我以前做过一个测试。是的,外观可能是不规则的。但是,命中区域仍然是矩形边界。例如,如果您制作了一个六边形按钮的平铺,一旦单击它,它可能无法按预期工作。