Android開源 - AndroidSweetSheet

效果圖

使用


// SweetSheet 控件,根據 rl 確認位置
mSweetSheet = new SweetSheet(rl);

//設置數據源 (數據源支持設置 list 數組,也支持從menu 資源中獲取) mSweetSheet.setMenuList(list); //根據設置不同的 Delegate 來顯示不同的風格. mSweetSheet.setDelegate(new RecyclerViewDelegate(true)); //根據設置不同Effect來設置背景效果:BlurEffect 模糊效果.DimEffect 變暗效果,NoneEffect 沒有效果. mSweetSheet.setBackgroundEffect(new BlurEffect(8)); //設置菜單點擊事件 mSweetSheet.setOnMenuItemClickListener(new SweetSheet.OnMenuItemClickListener() {     @Override     public boolean onItemClick(int position, MenuEntity menuEntity1) {

        //根據返回值, true 會關閉 SweetSheet ,false 則不會.         Toast.makeText(MainActivity.this, menuEntity1.title + "  " + position, Toast.LENGTH_SHORT).show();         return true;     } }); </code></pre>

自定義擴展


// SweetSheet 控件,根據 rl 確認位置
mSweetSheet3 = new SweetSheet(rl);
//定義一個 CustomDelegate 的 Delegate ,并且設置它的出現動畫.
CustomDelegate customDelegate = new CustomDelegate(true,
        CustomDelegate.AnimationType.DuangLayoutAnimation);
View view = LayoutInflater.from(this).inflate(R.layout.layout_custom_view, null, false);
//設置自定義視圖.
customDelegate.setCustomView(view);
//設置代理類
mSweetSheet3.setDelegate(customDelegate);
//因為使用了 CustomDelegate 所以mSweetSheet3中的 setMenuList和setOnMenuItemClickListener就沒有效果了
view.findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        mSweetSheet3.dismiss();
    }
});

監聽返回

    @Override
    public void onBackPressed() {

    if(mSweetSheet.isShow()){

        mSweetSheet.dismiss();
    }
    else{
        super.onBackPressed();
    }
}

</code></pre>

 

 本文由用戶 nanxicao 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!