Github上一些好用的開源專案(隨時記錄)
阿新 • • 發佈:2019-01-30
1、RecyclerViewSwipeDismiss(滑動刪除recycleView)
專案地址 https://github.com/CodeFalling/RecyclerViewSwipeDismiss
使用:1、匯入libary檔案到專案中;
2、新增監聽器
SwipeDismissRecyclerViewTouchListener listener = new SwipeDismissRecyclerViewTouchListener.Builder( recyclerView, new SwipeDismissRecyclerViewTouchListener.DismissCallbacks() { @Override public boolean canDismiss(int position) { return true; } @Override public void onDismiss(View view) { // 當刪除了一個後,要做什麼事 } }) .setIsVertical(false)//是否縱向刪除 .setItemTouchCallback( new SwipeDismissRecyclerViewTouchListener.OnItemTouchCallBack() { @Override public void onTouch(int index) { // 觸控處理事件 } }) .setItemClickCallback(newSwipeDismissRecyclerViewTouchListener.OnItemClickCallBack() { @Override public void onClick(int position) { // 點選處理事件 }) .setBackgroundId(R.drawable.bg_item_normal, R.drawable.bg_item_selected) .create(); recyclerView.setOnTouchListener(listener);
這樣就可以用了
2、Side Menu(動畫選單)
專案地址:https://github.com/Yalantis/Context-Menu.Android
使用方法:
1、匯入libiary
2、在主佈局中include toolbar的佈局
<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbar" app:theme="@style/ThemeOverlay.AppCompat.ActionBar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary"> <TextView android:id="@+id/text_view_toolbar_title" android:layout_centerInParent="true" android:layout_width="match_parent" android:layout_height="match_parent" android:textColor="@color/text_color" android:textSize="@dimen/tool_bar_text_size" android:gravity="center" /> </android.support.v7.widget.Toolbar>3、設定選單按鈕以及安裝監聽器
void initMenuObjects() { MenuParams menuParams = new MenuParams(); menuParams.setActionBarSize((int)getResources().getDimension(R.dimen.tool_bar_height)); menuParams.setMenuObjects(getMenuObjects()); menuParams.setClosableOutside(true); mMenuDialogFragment = ContextMenuDialogFragment.newInstance(menuParams); mMenuDialogFragment.setItemClickListener(this); mMenuDialogFragment.setItemLongClickListener(this); }
4、設定選單選項
List<MenuObject> getMenuObjects() { List<MenuObject> list = new ArrayList<MenuObject>(); MenuObject send = new MenuObject("frist"); send.setResource(R.drawable.icn_1); MenuObject back = new MenuObject("back"); back.setResource(R.drawable.icn_2); list.add(send); list.add(back); return list; }
5、顯示選單
在oncreate 中獲取fragmentManager =getSupportFragmentManager();
重寫方法
@Override public boolean onCreateOptionsMenu(Menu menu) {//建立選單時呼叫 MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu,menu);//選單的佈局檔案,新建一個item id為menu,就是我們要展示的選單。 return true;//return true 表示顯示, } public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu: if (fragmentManager.findFragmentByTag(ContextMenuDialogFragment.TAG) == null) {//判斷有無物件存在 mMenuDialogFragment.show(fragmentManager, ContextMenuDialogFragment.TAG); Toast.makeText(this, "getsimplename"+ContextMenuDialogFragment.TAG, Toast.LENGTH_SHORT).show(); } break; } return super.onOptionsItemSelected(item); }
通過以上步驟,基本完成使用。
3、載入動畫Android-spkit
效果如下專案地址 https://github.com/ybq/Android-SpinKit
使用說明:1、在gradle檔案下新增如下語句
```gradle
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
```
2、匯入libiary。3、在程式碼裡實現有兩種方式。①直接實現,例如textview上新增動畫:
mCircleDrawable = new Circle();//圓圈型載入動畫 mCircleDrawable.setBounds(0, 0, 100, 100); mCircleDrawable.setColor(Color.BLACK);//動畫的顏色 textView.setCompoundDrawables(null, null, mCircleDrawable, null);//位置,分別為左上右下 textView.setBackgroundColor(colors[2]);
②xml方式
<com.github.ybq.android.spinkit.SpinKitView xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/spin_kit" style="@style/SpinKitView.Large.Circle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" app:SpinKit_Color="@color/colorAccent" />當做一個控制元件新增到需要的地方就行了。