Чуть-чуть про перформанс UI в Android

👁 428

Спойлерок

Привет! Это пишет b00blik уже из будущего. Прошло несколько лет, и потому этот пост может быть слегка неактуален. Зато у меня есть приколясные актуальные посты – залетай, расскажу!

Привет! Вы когда-нибудь задумывались, почему android-приложение может страшно тормозить? На самом деле, для этого может быть ряд причин, о которых я расскажу немного позже. А пока — список полезных тул, которые могут пригодиться, если вы собираетесь отлавливать странности при работе вашего приложения:

Читать далее «Чуть-чуть про перформанс UI в Android»

Пример реализации работы с NFC в Android

👁 1816

Спойлерок

Привет! Это пишет b00blik уже из будущего. Прошло несколько лет, и потому этот пост может быть слегка неактуален. Зато у меня есть приколясные актуальные посты – залетай, расскажу!

Привет! У нас тут возникла задачка на работе, о решении которой я хотел бы с вами поделиться.

В общем, у нас есть внутрикорпоративное приложение с 3 кнопками (пришел, ушел на обед, ушел домой), которое внутри нашей электронной системы отмечает нас. Его написал мой напарник. Моя задача состояла в том, чтобы облегчить жизнь людям и запилить работу этого приложения с NFC-меткой.

Читать далее «Пример реализации работы с NFC в Android»

Убираем скролл в RecyclerView

👁 415

Спойлерок

Привет! Это пишет b00blik уже из будущего. Прошло несколько лет, и потому этот пост может быть слегка неактуален. Зато у меня есть приколясные актуальные посты – залетай, расскажу!

RecyclerView — это новый тип View, появившийся в Android L. Вкратце, фича этой вьюшки, в отличие от ListView, в том, что мы используем для отображения только то количество View-шек, которое нам необходимо, и потом переиспользуем при скроллинге, а не забиваем адаптером весь список.

http://developer.android.com/intl/ru/reference/android/support/v7/widget/RecyclerView.html

Бывает такая ситуация, при которой нам нужно отключить скроллинг в RecyclerView, но, в отличие от того же ListView, сделать это труднее.

Самым простым способом будет просто переопределить dispatchTouchEvent и ловить MotionEvent.ACTION_MOVE.

public class NoScrollRecyclerView extends RecyclerView {

    public NoScrollRecyclerView(Context context){
        super(context);
    }

    public NoScrollRecyclerView(Context context, AttributeSet attrs){
        super(context, attrs);
    }

    public NoScrollRecyclerView(Context context, AttributeSet attrs, int style){
        super(context, attrs, style);
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev){

        if(ev.getAction() == MotionEvent.ACTION_MOVE)
            return true;

        return super.dispatchTouchEvent(ev);
    }
}