RecyclerView ورژن ي توسعه يافته ي ListView

۸۰ بازديد

 


RecyclerView ورژن ي توسعه يافته ي ListView است كه سعي بهتري داشته و مزاياي بيشتري نسبت به آن دارااست. با به كار گيري از RecyclerView و Cardview، ليست هاي اكران داده ها مي‌توانند به سادگي و همينطور قشنگ ساخت شوند. درين مقاله داده ها جامعي راجع به RecyclerView ارائه خوا هيم بخشيد و مثال هايي را در اين باره معرفي مي‌كنيم با فراگيري Recyclerview در اندرويد با ما ياور باشيد.

دانلود پروژه

درين يادگرفتن مياموزيد كه چطور يك RecyclerView معمولي را با يك لايوت سفارشي توليد فرماييد. علاوه براين، يك كلاس آداپتور مي نويسيم و list driver يا اين كه ديوايدر ليست ها و يك listener را براي كليك كردن روي ستون طولاني تر خوا‌هيم كرد. RecyclerView كه ما درين مقاله پباده سازي مي‌كنيم، يك ليست از فيلم ها را اكران مي‌دهد كه دارنده تيتر، ژانر و سال ساخت است.

در قطعه كد پايين، ويجت RecyclerView با خصوصيت هاي ما يحتاج را مشاهده ميكنيد.


1
2
3
4
5

قبلي از آغاز مطمئن گرديد كه اندرويد استوديو نصب و به نهايي ورژن بروز رساني گرديده باشد. در‌اين مقاله از  اندرويد استوديو  3.0 RC 2 به كارگيري مي‌كنيم.

1- در اندرويد استوديو به مسير file/new project برويد و تمام جزئيات موردنياز براي ساخت پروژه ي تازه را وارد نمائيد و در غايت Blanck Activity را گزينش فرماييد.

2- build.grade را گشوده نماييد و  تعلق RecyclerView با كد com.android.support:RecyclerView-v7:26.1.0  را طولاني تر و پروژه را نوسازي فرماييد


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
build.gradle
apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    // ..
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    //..

    // RecyclerView
    implementation 'com.android.support:recyclerview-v7:26.1.0'
}
3- با نهايي ورژن ي ابزارهاي توليد، اندرويد استوديو دو فولدر لايه را براي هر اكتيويتي ساخت مي نمايد. براي main activity، دو فولدر activity_main.xml (دربرگيرنده CoordinatorLayout و AppBarLayout هست) و content_main.xml (براي محتواي حقيقي) را توليد مي‌كند. فولدر content_main.xml و ويجت RecyclerView  را بيشتر نمائيد .


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
content_main.xml



    


 

4- colors.xml كه در تحت res/values جاي دارد را گشوده نمائيد و رنگ هاي تحت را به آن بيشتر فرماييد.


1
2
3
4
5
6
7
8
9
colors.xml


    #3F51B5
    #303F9F
    #FF4081
    #999999
    #222222

5- dimens.xml در تحت res/values را گشوده نموده و dimen هاي پايين را بيش تر نمائيد.


1
2
3
4
5
6
7
8
dimens.xml

    
    16dp
    16dp
    16dp
    10dp

فراگيري Recyclerview در اندرويد
تايپ كردن كلاس آداپتور
پس از افزودن ويجت RecyclerView، درحال حاضر بايستي كلاس آداپتور را براي فراهم كردن اطلاعات براي RecyclerView بنويسيم. آداپتور RecyclerView شبيه با ListView بوده البته طرز هاي override كردن متفاوتي داراست.

6- يك كلاس به اسم movie.java را توليد و تيتر، ژانر و سال ساخت را مشخص و معلوم نماييد. علاوه براين، متدهاي getter/setter را براي هر متغير طولاني تر فرماييد.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Movie.java
package info.androidhive.recyclerview;

public class Movie {
    private String title, genre, year;

    public Movie() {
    }

    public Movie(String title, String genre, String year) {
        this.title = title;
        this.genre = genre;
        this.year = year;
    }

    public String getTitle() {
        return title;
    }

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

    public String getYear() {
        return year;
    }

    public void setYear(String year) {
        this.year = year;
    }

    public String getGenre() {
        return genre;
    }

    public void setGenre(String genre) {
        this.genre = genre;
    }
}
 

7- يك لايه xml به اسم movie_list_row.xml با كد ذيل را ساخت نمائيد. اين پوشه لايه يك سطر از RecyclerView را براي اكران اسم فيلم، ژانر و سال ايجاد آن تحت عنوان خروجي ارائه ميدهد.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
movie_list_row.xml



    

    

    


 

8- يك كلاس به اسم movieAdapter.java را ساخت و قطعه كد پايين را وارد نمائيد. در اينجا متد onCreateViewHolder ()، فولدر movie_list_row.xml را اصطلاحا inflates مي‌نمايد. در متد onBindViewHolder()، داده ها مرتبط با فيلم از قبيل تيتر، ژانر و سال براي هر سطر در حيث گرفته مي شود.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
تا كنون نظري ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در رویا بلاگ ثبت نام کرده اید می توانید ابتدا وارد شوید.