Butterknife
Iubesc scurtăturile. Dacă pot să fac ceva mai rapid și la fel de bine, mereu o să aleg varianta asta. Detest să reinventez roata și nu o voi face atâta timp cât există o persoană care a făcut-o.
Și pentru că îmi plac mie scurtăturile atât de mult, am dat de o bibliotecă de android care mi-a atras atenția.
Butterknife
Ce face?
View Injection
Adică, în cazul instanțierii unui view nu mai sunt nevoit să scriu tot:
1 |
TextView tv = (TextView) findViewById(R.id.tv); |
E suficient doar
1 |
@InjectView (R.id.tv) TextView tv; |
OnClickListener
Aici devine și mai frumos, click-ul pe un buton este tratat ca o metodă separată la care adaugi înainte
1 |
@OnClick(R.id.my_button) |
Manipulare de View-uri
Pot să adaug toate view-urile pe care le vreau sub forma unei liste și să le modific pe toate simultan prin
1 |
@InjectView({R.id.item_one, R.id.item_two, R.id.item_three}) List<View> myButtons; |
Mai departe pot să îi dau direct
1 |
ButterKnife.apply(myButtons, View.Disabled); |
Fragmente
Mai aveți și câteva lucruri legate de fragmente, dar cum nu sunt obișnuit să le folosesc când programez, am preferat să nu mă bag peste ele. Găsiți în documentația oficială mai multe detalii (link la final).
De ce?
Pentru că este mai ușor, în primul rând. În al doilea rând, pentru că seamănă destul de mult cu moduld e organizare din Swift (Outlet/Actions).
Cum îl adaug în proiect?
Prin Gradle, doar adaugi:
1 |
compile com.jakewharton:butterknife:6.1.0 |
Link
Site-ul oficial: http://jakewharton.github.io/butterknife/
Git: https://github.com/JakeWharton/butterknife
By: Adrian Coman