Android 炫酷選單
阿新 • • 發佈:2018-12-11
compile 'com.nightonke:boommenu:2.0.3'
選單的位置是可以設定的 , 形狀也可以,背景顏色也可以
這個有N種樣式,可去下載Apk 挑選
MainXML
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:orientation="vertical" tools:context="com.as.mydemo777.MainActivity"> <com.nightonke.boommenu.BoomMenuButton app:bmb_normalColor="#f00" android:id="@+id/bmb1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <com.nightonke.boommenu.BoomMenuButton app:bmb_normalColor="#ffa600" android:id="@+id/bmb2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <com.nightonke.boommenu.BoomMenuButton app:bmb_normalColor="#ff0" android:id="@+id/bmb3" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <com.nightonke.boommenu.BoomMenuButton app:bmb_normalColor="#00ff15" android:id="@+id/bmb4" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <com.nightonke.boommenu.BoomMenuButton app:bmb_normalColor="#00ffff" android:id="@+id/bmb5" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <com.nightonke.boommenu.BoomMenuButton app:bmb_normalColor="#002fff" android:id="@+id/bmb6" android:layout_width="wrap_content" android:layout_height="wrap_content" app:bmb_highlightedColor="@android:color/holo_orange_dark" app:bmb_buttonEnum="simpleCircle" app:bmb_piecePlaceEnum="piecePlace_dot_9_1" app:bmb_buttonPlaceEnum="buttonPlace_sc_9_1" app:bmb_showMoveEaseEnum="outBounce" app:bmb_showScaleEaseEnum="outBounce" app:bmb_showRotateEaseEnum="outBounce" app:bmb_hideMoveEaseEnum="outBounce" app:bmb_hideScaleEaseEnum="outBounce" app:bmb_hideRotateEaseEnum="outBounce" /> </LinearLayout>
MainAc
public class MainActivity extends AppCompatActivity { private BoomMenuButton bmb1; private BoomMenuButton bmb2; private BoomMenuButton bmb3; private BoomMenuButton bmb4; private BoomMenuButton bmb5; private BoomMenuButton bmb6; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); bmb1.setButtonEnum(ButtonEnum.SimpleCircle); bmb1.setPiecePlaceEnum(PiecePlaceEnum.DOT_1);//注意 他的_1 _2 _3 分別都是排列的方式 bmb1.setButtonPlaceEnum(ButtonPlaceEnum.SC_1); SimpleCircleButton.Builder simpleCircleButtonBuilder1 = new SimpleCircleButton.Builder(); simpleCircleButtonBuilder1.normalImageRes(R.drawable.bat); bmb1.addBuilder(simpleCircleButtonBuilder1); bmb2.setButtonEnum(ButtonEnum.SimpleCircle); bmb2.setPiecePlaceEnum(PiecePlaceEnum.DOT_2_1);//注意 他的中間 _2 是表示幾個圖 對應的Builder 也要有 bmb2.setButtonPlaceEnum(ButtonPlaceEnum.SC_2_1); for (int i = 0; i < 2; i++) { SimpleCircleButton.Builder simpleCircleButtonBuilder = new SimpleCircleButton.Builder(); simpleCircleButtonBuilder.normalImageRes(R.drawable.bear); bmb2.addBuilder(simpleCircleButtonBuilder); } bmb3.setButtonEnum(ButtonEnum.TextInsideCircle); bmb3.setPiecePlaceEnum(PiecePlaceEnum.DOT_3_1); bmb3.setButtonPlaceEnum(ButtonPlaceEnum.SC_3_1); for (int i = 0; i < 3; i++) { TextInsideCircleButton.Builder builder = new TextInsideCircleButton.Builder(); builder.normalImageRes(R.drawable.bear); builder.normalTextRes(R.string.app_name);//注意 textRes 和 text 是不同的 前者帶有跑馬燈效果 bmb3.addBuilder(builder); } bmb4.setButtonEnum(ButtonEnum.TextOutsideCircle); bmb4.setPiecePlaceEnum(PiecePlaceEnum.DOT_4_1); bmb4.setButtonPlaceEnum(ButtonPlaceEnum.SC_4_2); for (int i = 0; i < 4; i++) { TextOutsideCircleButton.Builder xxx = new TextOutsideCircleButton.Builder(); xxx.normalImageRes(R.drawable.bear); xxx.normalTextRes(R.string.app_name);//不知道為啥 就是動不了 bmb4.addBuilder(xxx); } bmb5.setButtonEnum(ButtonEnum.Ham); bmb5.setPiecePlaceEnum(PiecePlaceEnum.HAM_5); bmb5.setButtonPlaceEnum(ButtonPlaceEnum.HAM_5); for (int i = 0; i < 5; i++) { HamButton.Builder simpleCircleButtonBuilder = new HamButton.Builder(); simpleCircleButtonBuilder.normalImageRes(R.drawable.bear); simpleCircleButtonBuilder.normalText("不知道為啥他也動不了"); // simpleCircleButtonBuilder.normalTextRes(R.string.text); bmb5.addBuilder(simpleCircleButtonBuilder); } // bmb6.setButtonEnum(ButtonEnum.SimpleCircle); // bmb6.setPiecePlaceEnum(PiecePlaceEnum.DOT_9_2); // bmb6.setButtonPlaceEnum(ButtonPlaceEnum.SC_9_1); // bmb6.setShowMoveEaseEnum(EaseEnum.EaseInOutQuad); // bmb6.setShowScaleEaseEnum(EaseEnum.EaseInOutQuad); // bmb6.setShowRotateEaseEnum(EaseEnum.EaseInOutQuad); // bmb6.setHideMoveEaseEnum(EaseEnum.EaseInOutQuad); // bmb6.setHideScaleEaseEnum(EaseEnum.EaseInOutQuad); // bmb6.setHideRotateEaseEnum(EaseEnum.EaseInOutQuad); // bmb6.setShowDelay(0); // bmb6.setHideDelay(0); for (int i = 0; i < 9; i++) { SimpleCircleButton.Builder simpleCircleButtonBuilder = new SimpleCircleButton.Builder(); simpleCircleButtonBuilder.normalImageRes(R.drawable.bear); bmb6.addBuilder(simpleCircleButtonBuilder); } bmb6.setAutoHide(false); bmb6.setOnBoomListener(new OnBoomListener() { @Override public void onClicked(int index, BoomButton boomButton) { Toast.makeText(MainActivity.this, ""+index, Toast.LENGTH_SHORT).show(); } @Override public void onBackgroundClick() { } @Override public void onBoomWillHide() { } @Override public void onBoomDidHide() { } @Override public void onBoomWillShow() { } @Override public void onBoomDidShow() { } }); } private void initView() { bmb1 = (BoomMenuButton) findViewById(R.id.bmb1); bmb2 = (BoomMenuButton) findViewById(R.id.bmb2); bmb3 = (BoomMenuButton) findViewById(R.id.bmb3); bmb4 = (BoomMenuButton) findViewById(R.id.bmb4); bmb5 = (BoomMenuButton) findViewById(R.id.bmb5); bmb6 = (BoomMenuButton) findViewById(R.id.bmb6); } }