有沒有人可以幫助創建這樣的佈局(我的意思是,如何選擇圖像的區域並將其轉換爲按鈕?)? 圓形按鈕形成
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個按鈕 –
好吧,讓我準備一張圖片,告訴你我將如何簡化概念... –