Ich habe eine benutzerdefinierte Listenansicht und ein lineares Layout mit Textansicht am unteren Rand des Bildschirms. Ich habe einen OnScrollListener implementiert, um Actionbar und Linearlayout beim Scrollen zu verstecken und nach dem Scrollen wieder zurück zu holen. Die Actionbar verbirgt sich ohne Flackern und Stottern, aber mit dem linearen Layout ist das nicht möglich. Ich benutze Animation, um Layout zu verstecken, aber ich kann nicht vollständig erreichen. Ich brauche das Layout sollte wie Twitter-App verstecken, wo das untere Layout beim Scrollen reibungslos versteckt. Bitte helfen Sie.ausblenden Linearlayout in der Unterseite des Bildschirms während der Listenansicht scrollen
mViews.lists.setOnScrollListener(new AbsListView.OnScrollListener() {
int mLastFirstVisibleItem = 0;
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
if (view.getId() == mViews.lists.getId()) {
final int currentFirstVisibleItem = mViews.lists.getFirstVisiblePosition();
if (currentFirstVisibleItem > mLastFirstVisibleItem) {
// getSherlockActivity().getSupportActionBar().hide();
if (actionBar != null) {
actionBar.hide();
mViews.linear.startAnimation(animHide);
mViews.linear.setVisibility(View.GONE);
}
} else if (currentFirstVisibleItem < mLastFirstVisibleItem) {
// getSherlockActivity().getSupportActionBar().show();
actionBar.show();
mViews.linear.startAnimation(animShow);
mViews.linear.setVisibility(View.VISIBLE);
}
mLastFirstVisibleItem = currentFirstVisibleItem;
}
}
});
verstecken und zeigen xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<scale
android:fromYScale="1.0"
android:interpolator="@android:anim/linear_interpolator"
android:toYScale="0.0" />
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true" >
<scale
android:fromYScale="0.0"
android:interpolator="@android:anim/linear_interpolator"
android:toYScale="1.0" />
</set>