答案 0 :(得分:1)
您可以查看此库。简单的修改可以帮助您实现所需的设计。
图书馆: https://github.com/saurabharora90/MaterialArcMenu
在构建gradle中添加:
net.*
并在您的布局中包含com.sa90.materialarcmenu.ArcMenu作为视图组(子菜单为子)。例如:
dependencies {
compile 'com.sa90.materialarcmenu:library:1.1.1'
子菜单(孩子)可以是任何东西。这是一个ImageButton示例:
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab1"
android:layout_width="wrap_content"
android:src="@drawable/ic_dialog_email"
android:layout_height="wrap_content" />
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:src="@drawable/ic_dialog_alert"
android:layout_height="wrap_content" />
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:src="@drawable/ic_dialog_info"
android:layout_height="wrap_content" />
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:src="@drawable/ic_dialog_map"
android:layout_height="wrap_content" />
答案 1 :(得分:0)
如果您希望所有版本
,也可以参考卫星菜单库 SatelliteMenu menu = (SatelliteMenu) findViewById(R.id.menu);
// Set from XML, possible to programmatically set
// float distance = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 170, getResources().getDisplayMetrics());
// menu.setSatelliteDistance((int) distance);
// menu.setExpandDuration(500);
// menu.setCloseItemsOnClick(false);
// menu.setTotalSpacingDegree(60);
List<SatelliteMenuItem> items = new ArrayList<SatelliteMenuItem>();
items.add(new SatelliteMenuItem(4, R.drawable.ic_1));
items.add(new SatelliteMenuItem(4, R.drawable.ic_3));
items.add(new SatelliteMenuItem(4, R.drawable.ic_4));
items.add(new SatelliteMenuItem(3, R.drawable.ic_5));
items.add(new SatelliteMenuItem(2, R.drawable.ic_6));
items.add(new SatelliteMenuItem(1, R.drawable.ic_2));
有关详细信息,请参阅此链接 https://github.com/siyamed/android-satellite-menu/blob/master/satellite-menu-sample