diff --git a/README.md b/README.md index 81ddec7..fc27c46 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,10 @@ FrogoRecyclerView Extends RecyclerView # Special From This Custom View - isViewLinear() - + fun isViewLinearVertical(dividerItem: Boolean) {} + fun isViewLinearHorizontal(dividerItem: Boolean) {} + fun isViewStaggeredGrid(spanCount: Int) {} + fun isViewGrid(spanCount: Int) {} # Function Main From This Project @@ -30,7 +32,7 @@ FrogoRecyclerView Extends RecyclerView # Version Release This Is Latest Release - $version_release = 2.0.0 + $version_release = 2.0.1 # How To Use This Project @@ -64,13 +66,7 @@ Add it in your root build.gradle at the end of repositories: xmlns:tools="http://schemas.android.com/tools" android:id="@+id/recycler_view" android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@android:color/white" - android:clipToPadding="false" - android:paddingTop="16dp" - tools:context=".kotlinsample.MainActivity" - tools:listitem="@layout/example_list_item" /> - + android:layout_height="match_parent"/>

Step 4. Create adapter

@@ -82,7 +78,6 @@ Add it in your root build.gradle at the end of repositories: (Kotlin) - class MainActivity : AppCompatActivity(), FrogoRecyclerViewListener { (Java) - public class DetailActivity extends AppCompatActivity implements FrogoRecyclerViewListener { - # Sample Code Kotlin and Java

Sample Code Adapter (Kotlin)

diff --git a/app/src/main/java/com/frogobox/recycler/javasample/DetailActivity.java b/app/src/main/java/com/frogobox/recycler/javasample/DetailActivity.java index 9b81d95..be81bbb 100644 --- a/app/src/main/java/com/frogobox/recycler/javasample/DetailActivity.java +++ b/app/src/main/java/com/frogobox/recycler/javasample/DetailActivity.java @@ -35,7 +35,7 @@ private void setupAdapter(){ adapter.setupRequirement(this, listData(), R.layout.example_list_item); FrogoRecyclerView recyclerView = findViewById(R.id.recycler_view); recyclerView.setAdapter(adapter); - recyclerView.isViewLinear(); + recyclerView.isViewLinearVertical(false); } @Override diff --git a/app/src/main/java/com/frogobox/recycler/kotlinsample/MainActivity.kt b/app/src/main/java/com/frogobox/recycler/kotlinsample/MainActivity.kt index 5ebcb74..18dfd34 100644 --- a/app/src/main/java/com/frogobox/recycler/kotlinsample/MainActivity.kt +++ b/app/src/main/java/com/frogobox/recycler/kotlinsample/MainActivity.kt @@ -34,7 +34,7 @@ class MainActivity : AppCompatActivity(), R.layout.example_list_item ) recycler_view.adapter = adapter - recycler_view.isViewLinear() + recycler_view.isViewLinearVertical(false) } override fun onItemClicked(data: ExampleModel) { diff --git a/frogo/src/main/java/com/frogobox/recycler/view/FrogoRecyclerView.kt b/frogo/src/main/java/com/frogobox/recycler/view/FrogoRecyclerView.kt index 3e48cf1..54afbe3 100644 --- a/frogo/src/main/java/com/frogobox/recycler/view/FrogoRecyclerView.kt +++ b/frogo/src/main/java/com/frogobox/recycler/view/FrogoRecyclerView.kt @@ -2,9 +2,8 @@ package com.frogobox.recycler.view import android.content.Context import android.util.AttributeSet -import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView -import androidx.recyclerview.widget.StaggeredGridLayoutManager +import androidx.recyclerview.widget.* + /** * Created by Faisal Amir @@ -23,7 +22,7 @@ import androidx.recyclerview.widget.StaggeredGridLayoutManager * com.frogobox.frogoviewadapter.view * */ -class FrogoRecyclerView : RecyclerView { +class FrogoRecyclerView : RecyclerView, FrogoView { constructor(context: Context) : super(context) @@ -35,12 +34,28 @@ class FrogoRecyclerView : RecyclerView { defStyleAttr ) - fun isViewLinear() { - layoutManager = LinearLayoutManager(context) + override fun isViewLinearVertical(dividerItem: Boolean) { + layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) + + if (dividerItem) { + addItemDecoration(DividerItemDecoration(context, LinearLayoutManager.VERTICAL)) + } } - fun isViewStaggeredGrid(spanCount : Int) { + override fun isViewLinearHorizontal(dividerItem: Boolean) { + layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) + + if (dividerItem) { + addItemDecoration(DividerItemDecoration(context, LinearLayoutManager.HORIZONTAL)) + } + } + + override fun isViewStaggeredGrid(spanCount: Int) { layoutManager = StaggeredGridLayoutManager(spanCount, StaggeredGridLayoutManager.VERTICAL) } + override fun isViewGrid(spanCount: Int) { + layoutManager = GridLayoutManager(context, spanCount) + } + } \ No newline at end of file diff --git a/frogo/src/main/java/com/frogobox/recycler/view/FrogoView.kt b/frogo/src/main/java/com/frogobox/recycler/view/FrogoView.kt new file mode 100644 index 0000000..bc7a131 --- /dev/null +++ b/frogo/src/main/java/com/frogobox/recycler/view/FrogoView.kt @@ -0,0 +1,28 @@ +package com.frogobox.recycler.view + +/** + * Created by Faisal Amir + * FrogoBox Inc License + * ========================================= + * FrogoRecyclerViewAdapter + * Copyright (C) 31/12/2019. + * All rights reserved + * ----------------------------------------- + * Name : Muhammad Faisal Amir + * E-mail : faisalamircs@gmail.com + * Github : github.com/amirisback + * LinkedIn : linkedin.com/in/faisalamircs + * ----------------------------------------- + * FrogoBox Software Industries + * com.frogobox.recycler.view + * + */ + +interface FrogoView { + + fun isViewLinearVertical(dividerItem: Boolean) {} + fun isViewLinearHorizontal(dividerItem: Boolean) {} + fun isViewStaggeredGrid(spanCount: Int) {} + fun isViewGrid(spanCount: Int) {} + +} \ No newline at end of file