Android 炫酷菜单

https://github.com/Nightonke/BoomMenu/wiki/Text-Inside-Circle-Button


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);
    }

}

猜你喜欢

转载自blog.csdn.net/FlyPig_Vip/article/details/82800300