 |
|
 |
Стартапы / Songsterr в?' теперь на Android
C полгода назад songsterr писали об итогах трех лет. А ныне команда рада оповестить Хабрахабр о выходе приложения для Android!
в?' Доступ к огромному каталогу табулатур(400 000) в?' Наборы инструментов для каждой песни. Гитары, басс, ударные, голос и прочее в?' Список 'Популярные' в?' Возможность поиска песни по имени исполнителя или названию
В планах добавить проигрывание музыки, избранное и много-многое другое. Следите за новостями тут, в facebook и twitter.
Скачать с маркета:
QR:

1. в 2.3.1 появилась возможность использовать резиновые списки в том смысле, что список оттягивается и виден background, как это сделано в iPhone. Чтобы добавить такой эффект к своему ListView, надо сделать подкласс и переопределить один метод:
public class BounceListView extends ListView (
private int maxYOverscroll;
private static final float MAX_Y_OVERSCROLL_DISTANCE = 200;
public BounceListView(Context context) (
super(context);
initBounceListView();
)
public BounceListView(Context context, AttributeSet attrs) (
super(context, attrs);
initBounceListView();
)
public BounceListView(Context context, AttributeSet attrs, int defStyle) (
super(context, attrs, defStyle);
initBounceListView();
)
private void initBounceListView() (
//get the density of the screen and do some maths with it on the max overscroll distance
//variable so that you get similar behaviors no matter what the screen size
final DisplayMetrics metrics = getContext().getResources().getDisplayMetrics();
final float density = metrics.density;
maxYOverscroll = (int) (density * MAX_Y_OVERSCROLL_DISTANCE);
)
@Override
protected boolean overScrollBy(int deltaX, int deltaY,
int scrollX, int scrollY,
int scrollRangeX, int scrollRangeY,
int maxOverScrollX, int maxOverScrollY,
boolean isTouchEvent) (
//This is where the magic happens, we have replaced the incoming maxOverScrollY with our own custom variable maxYOverscroll;
return super.overScrollBy(deltaX, deltaY,
scrollX, scrollY, scrollRangeX,
scrollRangeY, maxOverScrollX,
maxYOverscroll, isTouchEvent);
)
2. Опять же в 2.3.1 появилась возможность указания обратной ориентации для экрана, на основе сигнала сенсора. Это удобно, если вам хочется, чтобы одна из activity была только в альбомной ориентации, но при этом зависела от сенсора.
screenOrientation='sensorLandscape'. Будьте внимательны, потому что на 2.2 этот атрибут ведет себя не как landscape, а как отсутствие атрибута напрочь!
3. Для того, чтобы в TextView, являющейся частью записи в ListView менялось состояние в соответствии с выбором и кликом на этот элемент( selected='true' или clicked='true' ) нужно использовать аттрибут dublicateParentState. Иначе бэкграунд у элемента будет меняться, а цвет текста в?' нет.
С моментами пока что все! Удачного изучения игры своих любимых песен!
Также мы будем рады любой конструктивной критике и высказанным пожеланиям.
Спасибо!
// Другие новости
•
|
 |

|