天天看點

SpinMenu 輪盤旋轉樣式的 Fragment 菜單控件,讓 Fragment 切換更加炫酷 Preview Usage Attributes

SpinMenu

項目位址: SpinMenu

SpinMenu 輪盤旋轉樣式的 Fragment 菜單控件,讓 Fragment 切換更加炫酷 Preview Usage Attributes

簡介:輪盤旋轉樣式的 Fragment 菜單控件,讓 Fragment 切換更加炫酷

輪盤樣式的 Fragment 菜單選擇控件。有沒有很炫?

Preview

SpinMenu 輪盤旋轉樣式的 Fragment 菜單控件,讓 Fragment 切換更加炫酷 Preview Usage Attributes

Usage

導入 smlibrary module, 或者直接拷貝 com.hitomi.smlibrary 包下所有 java 檔案到您的項目中

布局檔案中:

<com.hitomi.smlibrary.SpinMenu
        android:id="@+id/spin_menu"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:hint_text_color="#FFFFFF"
        app:hint_text_size="14sp"
        app:scale_ratio="0.36"
        tools:context="com.hitomi.spinmenu.MainActivity">

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#333a4a"></FrameLayout>

    </com.hitomi.smlibrary.SpinMenu>
           

SpinMenu 中可以嵌套其它布局,來繪制您自己的背景

Activity 中:

spinMenu = (SpinMenu) findViewById(R.id.spin_menu);

// 設定頁面标題
List<String> hintStrList = new ArrayList<>();
hintStrList.add("熱門資訊");
hintStrList.add("實時新聞");
hintStrList.add("我的論壇");
hintStrList.add("我的資訊");
hintStrList.add("走走看看");
hintStrList.add("閱讀空間");
hintStrList.add("聽聽唱唱");
hintStrList.add("系統設定");

spinMenu.setHintTextStrList(hintStrList);
spinMenu.setHintTextColor(Color.parseColor("#FFFFFF"));
spinMenu.setHintTextSize(14);

// 設定啟動手勢開啟菜單
spinMenu.setEnableGesture(true);

// 設定頁面擴充卡
final List<Fragment> 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();
    }
};
spinMenu.setFragmentAdapter(fragmentPagerAdapter);

// 設定菜單狀态改變時的監聽器
spinMenu.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();
    }
});
           

Attributes

<attr name="scale_ratio" format="float" />
支援頁面縮放大小自定義,建議取值在 3.0 到 5.0 之間

<attr name="hint_text_color" format="color"/>
支援頁面标題文字顔色自定義

<attr name="hint_text_size" format="dimension"/>
支援頁面标題文字大小自定義