Я бы хотел иметь эффект, похожий на «конечные титры» в фильмах, где имена участников для проектов плавно скользят снизу вверх. Я думал о ScrollView и это моя идея (ясно, что она не работает): В OnCreate:ScrollView сползает снизу вверх, программно
sv = (ScrollView)findViewById(R.id.scroll_text);
в OnStart:
@Override
public void onStart()
{
super.onStart();
sv.post(new Runnable() {
@Override
public void run() {
sv.fullScroll(ScrollView.FOCUS_DOWN);
}
});
}
В onWindowsFocusChanged:
@Override
public void onWindowFocusChanged(boolean hasFocus)
{
if (hasFocus)
{
int display_h = display.getHeight();
pos_y = display_h;
mScrollHandler.removeCallbacks(mUpdateScroll);
mScrollHandler.postDelayed(mUpdateScroll, 0);
}
else
{
mScrollHandler.removeCallbacks(mUpdateScroll);
}
}
И это для обработчика:
private Runnable mUpdateScroll = new Runnable() {
public void run() {
pos_y = pos_y - 1;
sv.scrollTo(0, pos_y);
mScrollHandler.postDelayed(mUpdateScroll, 100);
}
};
Здесь журнал переменной pos_y корректно отображает изменения с 480 на 0, плавно. Моя идея заключалась в том, что взгляды прокручиваются снизу вверх, на 10 пикселей в секунду.
К сожалению, макет внутри прокрутки полностью отображается при запуске деятельности. В scrollview я использовал классическую вертикальную линейку Layout со всеми строками внутри нее, загружая в onCreate.
Кто-нибудь мне поможет?