我在网上搜索了很多资料,但没有找到任何帮助这种按钮设计的完整资源,虽然我能够绕过拐角或使按钮循环但我没有绘制以下的GUI设计..任何人都有任何想法如何做到这一点,或者更好的方法是如何将按钮向内弯曲,而不是使其成为圆形...提前谢谢。
答案 0 :(得分:0)
您可以使用framelayout添加该五个按钮。 由于framelayout,您可以在视图顶部重叠圆形
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.dell.myapplication.MainActivity">
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:id="@+id/button"
android:layout_width="293dp"
android:layout_height="165dp"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="297dp"
android:layout_height="159dp"
android:layout_gravity="end"
android:text="Button2" />
<Button
android:id="@+id/button3"
android:layout_width="292dp"
android:layout_height="143dp"
android:layout_gravity="bottom|left"
android:text="Button3" />
<Button
android:id="@+id/button4"
android:layout_width="295dp"
android:layout_height="145dp"
android:layout_gravity="bottom|right"
android:text="Button4" />
<Button
android:id="@+id/button5"
android:layout_width="163dp"
android:layout_height="170dp"
android:layout_gravity="center_horizontal|center_vertical"
android:text="Button5" />
</FrameLayout>
</RelativeLayout>
答案 1 :(得分:0)
这是我所做的布局。它应该得到改善,但基本问题已经解决了。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="8dp">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:layout_marginBottom="3dp">
</FrameLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_weight="1">
<Button
android:id="@+id/button7"
android:layout_width="150dp"
android:layout_height="150dp"
android:text="Button"
android:layout_gravity="center"
android:background="@drawable/circular"/>
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="visible"
android:rowCount="2"
android:columnCount="2">
<Button
android:id="@+id/button6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background = "@color/colorPrimary"
android:text="Button" />
<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background = "@color/colorPrimary"
android:text="Button"
android:layout_marginStart="3dp"/>
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background = "@color/colorPrimary"
android:text="Button"
android:layout_marginTop="3dp"/>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:background = "@color/colorPrimary"
android:layout_marginTop="3dp"
android:layout_marginStart="3dp"
android:text="Button" />
</GridLayout>
</FrameLayout>
这是用于中央按钮背景的圆形形状
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="@color/colorPrimary"/>
<stroke
android:color="@android:color/white"
android:width="3dp"/>
<size
android:height="50dp"
android:width="50dp"/>
</shape>
这是结果