1. 程式人生 > >Github上一些好用的開源專案(隨時記錄)

Github上一些好用的開源專案(隨時記錄)

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(new
SwipeDismissRecyclerViewTouchListener.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" />    
當做一個控制元件新增到需要的地方就行了。