我正在尝试为Android应用创建一个Fragment
,其中Button
或ImageButton
以编程方式排列成一个圆圈,其中的线条从中心绘制到View
。但是,我对如何做到这一点感到难过。
根据我的理解,我可以创建一个自定义View
,我可以在其中覆盖onDraw()
来绘制线条,但我不能以这种方式放置Button
。我可以使用View
等覆盖自定义FrameLayout
,但我不知道要使用哪种类型的布局,以便按钮可以排成一个圆圈(并且这将适用于各种屏幕尺寸)。
此外,我必须确保绘制的线条和按钮都能够一起动画(例如,按钮和连接线可以以与它们相同的速率移出屏幕外实体)。
我看过这篇文章,它实际上与我想做的非常相似! :Dynamically arrange Buttons around a Circle。但是,我对答案并不十分满意,特别是如何在Button
onDraw()
中创建onClick
,{{1}}仍在运作。
真的很感激任何建议!
答案 0 :(得分:2)
我认为由dmitry-zaitsev创建的CircleLayout可以帮助您创建自己想要的东西。
它的实现非常简单,如下所示。
<ru.biovamp.widget.CircleLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
app:angleOffset="90.0">
<!-- Add here any views you want -->
</ru.biovamp.widget.CircleLayout>
第二个选项是Creating a Rotating Dialer
第三个选项是Android-3D-Carousel。