具有側滑菜單的列表類型View

jopen 9年前發布 | 8K 次閱讀 SwipeView Android開發 移動開發

SwipeView

具有側滑菜單的列表類型View,目前匹配了RecyclerView,后續將陸續適配ListView、GridView等控件。

使用方法:

  • 自定義繼承RecyclerViewAdapter對應控件適配器
  • 實現對應抽象方法:
      public abstract VH onCreatViewHodler(View v,List<SwipeMenuItem> menuItems,
      SwipeItemLayout swipeItemLayout,int layoutId);
      public abstract View onCreateItemLayoutId(ViewGroup parent, int viewType);
      public abstract List<SwipeMenuItem> creatMenuView(); 
      public abstract int onCreatLayout();
      public abstract SwipeItemLayout onCreatSwipeLayout(View v);

    • 在Activity中調用:
        public class MainActivity extends ActionBarActivity {
    
        private SwipeRecyclerView mSwipeRecyclerView;
        private SearchsAdapetr mAdapter=null;
        private RecyclerView.LayoutManager mLayoutManager;
        private List<SearchVo> mSerachVos;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            mSwipeRecyclerView = (SwipeRecyclerView) findViewById(R.id.swipeView);
            mLayoutManager = new LinearLayoutManager(this);
            mSerachVos = new ArrayList<>();
            for(int i=0;i<10;i++){
                mSerachVos.add(new SearchVo("test"+i,false));
            }
    
            mAdapter = new SearchsAdapetr(this,mSerachVos);
            mSwipeRecyclerView.setHasFixedSize(true);
            mSwipeRecyclerView.setLayoutManager(mLayoutManager);
            mSwipeRecyclerView.setAdapter(mAdapter);
            mSwipeRecyclerView.setScrollContainer(false);
    
        }
    }

    創建側滑菜單
        @Override
        public List<SwipeMenuItem> creatMenuView() {
            List<SwipeMenuItem> menuItems = new ArrayList<>();
            menuItems =new ArrayList<>();
    
            SwipeMenuItem a=new SwipeMenuItem();
            a.setBackgroundResId(R.drawable.save_btn_bg);
            a.setWidth((int) dipToPx(60));
            a.setIcon(null);
            a.setText("刪除");
            a.setTitleColor(Color.parseColor("#ffffff"));
            a.setTitleSize(14);
            menuItems.add(a);
    
            SwipeMenuItem b=new SwipeMenuItem();
            b.setBackgroundResId(R.drawable.save_btn_bg);
            b.setWidth((int) dipToPx(80));
            b.setIcon(null);
            b.setText("取消");
            b.setTitleColor(Color.parseColor("#ffffff"));
            b.setTitleSize(14);
            menuItems.add(b);
            return menuItems;
        }

    項目主頁:http://www.baiduhome.net/lib/view/home/1439649281395

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