【发布时间】:2012-10-28 12:30:36
【问题描述】:
我尝试在这个应用中做圆形菜单。
在“扩展”模式下,我将这个组件绘制如下:
<RelativeLayout android:id="@+id/bigCircle">
<!--color full borders-->
<my.custom.component android:id="@+id/middleCircle">
<!--circle for buttons-->
<RelativeLayout android:id="@+id/smallCircle">
<!--minus button-->
</RelativeLayout>
</my.custom.component>
</RelativeLayout>
在my.custom.component 的onDraw 方法中,我使用android.graphics.Path 和android.graphics.Paint 以及一些数学将圆分成8 个部分。
视觉上我完全如屏幕截图所示。但是当我按下圆圈的一部分时,我需要用另一种颜色重新绘制这部分,以向用户展示发生了什么。
例如,我如何通过android.graphics.Path 重新绘制与画布的另一部分截断的组件画布的一部分。
换句话说,我知道我应该在 onDraw 方法中重绘画布,我知道我可以展示一些来自可绘制的位图在 Photoshop 中绘制并且有一些“多屏问题”,我知道如何确定用户按下的部分。但我不知道如何选择画布的一部分并重绘它。
【问题讨论】:
标签: android android-layout android-widget android-custom-view