有没有人可以帮助创建这样的布局(我的意思是,如何选择图像的区域并将其转换为按钮?)? 圆形按钮形成
Q
圆形按钮形成
3
A
回答
5
我多么(多简化)做到这一点的只有使用RelativeLayout的
这是想法:
绿色矩形区域仅仅是一个spacewasting TextView的。它是其他8个TextViews的两倍(你只需要8个,而不是12个!),它们明智地在它周围移动。
通过使用RelativeLayout容器中的以下属性toRightOf ...,可以轻松地对齐这些属性。
它们是可点击的(不是中央的),只需要您准备8个“图标”,您可以将所有其余的图像作为背景(只需用白色清除图标应放置的位置) 。
只需使用dp作为测量单位即可实现可扩展性。
这种设计非常简单,并且工作得很好。
与启动一些活动的点击侦听器相比,您不需要太多的代码。
您认为如何?
我发布了一个类似的在过去的答案:见here。该绘图是由代码完成的,但按钮在xml中被置换。
让XML布局过程非常类似,你需要的东西:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:background="#f000"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
>
<TextView
android:id="@+id/txt9"
android:layout_width="160dp"
android:layout_height="160dp"
android:layout_centerInParent="true"
android:gravity="center"
android:text="9"
android:textSize="40sp"
android:textStyle="bold"
android:textColor="#ffff"
/>
<TextView
android:id="@+id/txt1"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_above="@id/txt9"
android:layout_alignLeft="@id/txt9"
android:gravity="center"
android:text="1"
android:textSize="40sp"
android:textStyle="bold"
android:textColor="#ffff"
/>
<TextView
android:id="@+id/txt8"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignTop="@id/txt1"
android:layout_toRightOf="@id/txt1"
android:gravity="center"
android:text="8"
android:textSize="40sp"
android:textStyle="bold"
android:textColor="#ffff"
/>
<TextView
android:id="@+id/txt2"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignTop="@id/txt9"
android:layout_toLeftOf="@id/txt9"
android:gravity="center"
android:text="2"
android:textSize="40sp"
android:textStyle="bold"
android:textColor="#ffff"
/>
<TextView
android:id="@+id/txt3"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_below="@id/txt2"
android:layout_toLeftOf="@id/txt9"
android:gravity="center"
android:text="3"
android:textSize="40sp"
android:textStyle="bold"
android:textColor="#ffff"
/>
<TextView
android:id="@+id/txt4"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_below="@id/txt9"
android:layout_alignLeft="@id/txt9"
android:gravity="center"
android:text="4"
android:textSize="40sp"
android:textStyle="bold"
android:textColor="#ffff"
/>
<TextView
android:id="@+id/txt5"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignTop="@id/txt4"
android:layout_toRightOf="@id/txt4"
android:gravity="center"
android:text="5"
android:textSize="40sp"
android:textStyle="bold"
android:textColor="#ffff"
/>
<TextView
android:id="@+id/txt7"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignTop="@id/txt9"
android:layout_toRightOf="@id/txt9"
android:gravity="center"
android:text="7"
android:textSize="40sp"
android:textStyle="bold"
android:textColor="#ffff"
/>
<TextView
android:id="@+id/txt6"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_below="@id/txt7"
android:layout_toRightOf="@id/txt9"
android:gravity="center"
android:text="6"
android:textSize="40sp"
android:textStyle="bold"
android:textColor="#ffff"
/>
</RelativeLayout>
随意使用ImageButtons代替TextViews(更合适,你的情况)。
对于8个按钮更清晰的视图,你会真正需要的是工作:
果岭的一杆是DUMMY
0
这可能是最好的实现为一个自定义视图。
您可以使用atan2从视图中心到用户触摸位置获取度数 - 如果触摸事件与视图中心之间的距离大于内圈的半径(在板球运动员周围),但不能大于外圈,那么你可以根据角度计算哪个按钮被点击(这更容易,因为它们都是相同的大小)。
你只需要一个白色背景资产,一边是灰线,然后画出8个围绕视图中心旋转的资产。然后将您的8个图标置于顶部,根据距离和角度计算其位置。 当用户触摸其中一个切片时,切换按下/单击状态的资产。
相关问题
- 1. 圆形按钮
- 2. 圆形按钮
- 3. 圆形按钮
- 4. UIImage按钮(圆形按钮)
- 5. 圆形到圆形三角形(菜单按钮切换)
- 6. Xcode 5圆形矩形按钮
- 7. 的Android环形状为圆形按钮
- 8. 圆形矩形按钮连接到ViewController.h
- 9. NSToolbar中的圆形矩形按钮
- 10. 自定义圆形按钮
- 11. 圆形按钮组视图
- 12. 实施圆形按钮
- 13. GTK和CSS:圆形按钮
- 14. iOS上的圆形按钮
- 15. 创建圆形按钮
- 16. 移相器,圆形按钮
- 17. 圆形按钮与图像
- 18. 圆形按钮tkinter python
- 19. (jquery)圆形按钮组?
- 20. 如何制作圆形的椭圆形按钮?
- 21. iOS:带四个圆形按钮的动画圆形
- 22. 悬停时有方圆按钮的圆形按钮
- 23. Bufferedimage成圆形
- 24. 弯曲线形成圆形和椭圆
- 25. 绘制一个半圆形按钮iOS
- 26. 如何获得圆形按钮?
- 27. 的Android定制的圆形按钮
- 28. 制作带边框的圆形按钮
- 29. 圆形按钮和android中的textview
- 30. 按钮图标:圆形关闭图标
是中央圆(高尔夫球手)也被认为是一个按钮? –
不,只有那些其他8个按钮 –
好吧,让我准备一张图片,告诉你我将如何简化概念... –