Reputation: 31
Hi I am stuck with the issue of hiding relative layout when scrolling a list view.
Required:
When i scroll list view , relative layout should be invisible
when i didnt scroll relative layout should be visible
Function.java
lv.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState)
{
// TODO Auto-generated method stub
// rel.setVisibility(View.GONE);
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount)
{
rel.setVisibility(View.INVISIBLE);
if(firstVisibleItem == 0)
{
}
else
{
rel.setVisibility(View.VISIBLE);
}
}
});
mylayout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="#b5b5b5"
android:dividerHeight="1dp" />
<LinearLayout
android:id="@+id/myrelative"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="#FF0000"
android:orientation="horizontal"
>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
</RelativeLayout>
please guide me to solve this problem
Upvotes: 2
Views: 1262
Reputation: 26
Try This
private int mLastFirstVisibleItem;
private OnScrollListener lead_scrolllist = new OnScrollListener()
{
@Override
public void onScrollStateChanged(AbsListView view, int scrollState)
{
if (view.getId() == LeadDetail_listview.getId())
{
final int currentFirstVisibleItem = LeadDetail_listview.getFirstVisiblePosition();
if (currentFirstVisibleItem > mLastFirstVisibleItem)
{
Linear_leadfooter.setVisibility(View.GONE);
}
else if (currentFirstVisibleItem < mLastFirstVisibleItem)
{
Linear_leadfooter.setVisibility(View.VISIBLE);
}
mLastFirstVisibleItem = currentFirstVisibleItem;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount)
{
}
};
Upvotes: 1