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