这篇文章主要为大家展示了如何实现Android自定义转盘菜单,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。
专注于为中小企业提供网站设计、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业上犹免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。最近由于公司项目需要,需要开发一款转盘菜单,费了好大功夫搞出来了,下面分享下
样图
具体功能如下:
import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import android.support.v7.app.AppCompatActivity; import android.widget.Toast; import com.hitomi.smlibrary.OnSpinMenuStateChangeListener; import com.hitomi.smlibrary.TurnTableMenu; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private TurnTableMenu turnTableMenu; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); turnTableMenu = (TurnTableMenu) findViewById(R.id.spin_menu); // 设置页面标题 ListhintStrList = new ArrayList<>(); hintStrList.add("热门信息"); hintStrList.add("实时新闻"); hintStrList.add("我的论坛"); hintStrList.add("我的信息"); hintStrList.add("环游世界"); hintStrList.add("阅读空间"); hintStrList.add("欢乐空间"); hintStrList.add("系统设置"); turnTableMenu.setHintTextStrList(hintStrList); turnTableMenu.setHintTextColor(Color.parseColor("#FFFFFF")); turnTableMenu.setHintTextSize(14); // 设置页面适配器 final List fragmentList = new ArrayList<>(); fragmentList.add(Fragment1.newInstance()); fragmentList.add(Fragment2.newInstance()); fragmentList.add(Fragment3.newInstance()); fragmentList.add(Fragment4.newInstance()); fragmentList.add(Fragment5.newInstance()); fragmentList.add(Fragment6.newInstance()); fragmentList.add(Fragment7.newInstance()); fragmentList.add(Fragment8.newInstance()); FragmentPagerAdapter fragmentPagerAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) { return fragmentList.get(position); } @Override public int getCount() { return fragmentList.size(); } }; turnTableMenu.setFragmentAdapter(fragmentPagerAdapter); // 设置菜单状态改变时的监听器 turnTableMenu.setOnSpinMenuStateChangeListener(new OnSpinMenuStateChangeListener() { @Override public void onMenuOpened() { Toast.makeText(MainActivity.this, "SpinMenu opened", Toast.LENGTH_SHORT).show(); } @Override public void onMenuClosed() { Toast.makeText(MainActivity.this, "SpinMenu closed", Toast.LENGTH_SHORT).show(); } }); } }