Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ThisIsNSH authored Aug 23, 2019
1 parent be80663 commit 52195a1
Showing 1 changed file with 111 additions and 100 deletions.
211 changes: 111 additions & 100 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

### The easiest way to implement RecyclerView in just 1 Line.

Delicious Facts
Delicious Facts 🍭
--------

* Forget creation of tasteless `Adapters` & monotonous `findViewById` for your views in adapter.
Expand All @@ -13,49 +13,49 @@ Delicious Facts
* Manage properties of all view using single `SugarListener` or just set attributes for specific views.


Download via Gradle
Download via Gradle 💻
--------


Add it in your Project build.gradle at the end of repositories:
```groovy
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
repositories {
maven { url 'https://jitpack.io' }
}
}
```


Add the dependency in your App build.gradle:
```groovy
dependencies {
implementation 'com.github.ThisIsNSH:CandyView:1.3'
// add these for internal functioning
implementation 'com.squareup.picasso:picasso:{latest version}'
implementation 'com.android.support:recyclerview-v7:{build version}'
implementation 'com.github.ThisIsNSH:CandyView:1.3'
// add these for internal functioning
implementation 'com.squareup.picasso:picasso:{latest version}'
implementation 'com.android.support:recyclerview-v7:{build version}'
}
```

Get Started
Get Started 🏁
--------


#### 1. Add the code in Activity to create `CandyView`:
```java
class ExampleActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
...
@Override
protected void onCreate(Bundle savedInstanceState) {
...

// Initialize CandyView object
CandyView candyView = findViewById(R.id.candy);
// Initialize CandyView object
CandyView candyView = findViewById(R.id.candy);

// Create RecyclerView using make(Context content, int Layout, List<Model> Data, Model Class)
candyView.make(this, R.layout.adapter, dataList, Model.class);
// Create RecyclerView using make(Context content, int Layout, List<Model> Data, Model Class)
candyView.make(this, R.layout.adapter, dataList, Model.class);

}
}

}
```
Expand All @@ -65,67 +65,67 @@ candyView.make(this, R.layout.adapter, dataList, Model.class);
```java
class ExampleActivity extends Activity implements CandyView.SugarListener {

TextView textView;
TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
...
candyView.addSugarListener(this);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
...
candyView.addSugarListener(this);
}

@Override
public void onCandyMade() {
@Override
public void onCandyMade() {

// Initialize required adapter views
textView = (TextView) candyView.getViewById(R.id.text);
// Initialize required adapter views
textView = (TextView) candyView.getViewById(R.id.text);

}
}

@Override
public void onCandyRecycled(View view, int position) {
@Override
public void onCandyRecycled(View view, int position) {

// Set attributes of adapter views for all positions
textView.setTextColor(getResources().getColor(R.color.colorPrimary));
// Set attributes of adapter views for all positions
textView.setTextColor(getResources().getColor(R.color.colorPrimary));

// Set attributes of adapter views at a particular position
if (position == 1)
textView.setTextColor(getResources().getColor(R.color.colorAccent));
// Set attributes of adapter views at a particular position
if (position == 1)
textView.setTextColor(getResources().getColor(R.color.colorAccent));

}
}

}
```

#### Automatically Set Data
#### Automatically Set Data 🚀
#### 3. Create `Model Class` with variables having same names as IDs of views in adapter view.
```java
public class Model {

// Declare data variables
String image;
String name;
// Declare data variables
String image;
String name;

public Model(String image, String name) {
this.image = image;
this.name = name;
}
public Model(String image, String name) {
this.image = image;
this.name = name;
}

// Getter & Setter for the variables
public String getImage() {
return image;
}
// Getter & Setter for the variables
public String getImage() {
return image;
}

public void setImage(String image) {
this.image = image;
}
public void setImage(String image) {
this.image = image;
}

public String getName() {
return name;
}
public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
public void setName(String name) {
this.name = name;
}

}
```
Expand All @@ -137,54 +137,65 @@ Make sure the variable name in `Model` and `ID` in layout.xml is same.

```XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="#fff"
app:cardCornerRadius="16dp"
app:cardElevation="4dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true">

<RelativeLayout
android:layout_width="match_parent"
android:id="@+id/relative"
android:layout_height="wrap_content"
android:gravity="center_vertical">

<ImageView
android:id="@+id/image"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_margin="8dp"
android:scaleType="centerCrop" />

<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:layout_toRightOf="@id/image"
android:textColor="#000"
android:textSize="18sp"/>

</RelativeLayout>

</android.support.v7.widget.CardView>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="#fff"
app:cardCornerRadius="16dp"
app:cardElevation="4dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true">

<RelativeLayout
android:layout_width="match_parent"
android:id="@+id/relative"
android:layout_height="wrap_content"
android:gravity="center_vertical">

<ImageView
android:id="@+id/image"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_margin="8dp"
android:scaleType="centerCrop" />

<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:layout_toRightOf="@id/image"
android:textColor="#000"
android:textSize="18sp"/>

</RelativeLayout>

</android.support.v7.widget.CardView>

</LinearLayout>
```


Confused?
Confused 🤷‍♂️? Download Sample App.
--------


Found a bug 🐛?
--------

* Download the sample app and test.
* Please create an issue with appropriate tags
* We welcome developers to fix the bug and open a PR
* Keep PR name as Fixes #Issue_Number

Thank you ❤️
--------




0 comments on commit 52195a1

Please sign in to comment.