Android: Autoscrolling HorizontalScrollView
- by DroidIn.net
I'm using the following code to simulate tabs and since there are more tabs that width can accommodate user can scroll left or right to make a tab button visible. It all works, however I also provide user with ability to fling between tabs by swiping finger left or right on the tab contents. Again - it works. But when I fling to the rightmost tab its corresponding button is barely visible. I want to autoscroll table inside the HorizontalScrollView so the selected tab button will be visible but when I execute HorizontalScrollView.smoothScrollTo(300, 0) nothing happens. It doen't matter how high I set first x parameter nothing will ever move (yes I do have an algorithm to calculate exact position).
Here's XML code for scrolling tab buttons
<HorizontalScrollView android:layout_width="fill_parent"
android:background="@color/tabs_header" android:layout_height="55dip"
android:scrollbars="none" android:id="@+id/tabsButtonView">
<TableLayout android:id="@+id/TableLayout01" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableRow android:id="@+id/TableRow01" android:layout_width="fill_parent" android:layout_weight="1"
android:layout_height="0dip" android:paddingTop="5dip" android:paddingLeft="3dip">
<ImageButton android:src="@drawable/linkup_logo_small" android:id="@+id/tabBtt0"
android:layout_width="wrap_content" android:layout_marginLeft="2dip" android:layout_marginRight="2dip"
android:layout_height="fill_parent" android:padding="5dip" android:background="@drawable/tab_selected"></ImageButton>
<ImageButton android:src="@drawable/simplyhired_small" android:id="@+id/tabBtt1"
android:layout_height="fill_parent" android:layout_width="fill_parent" android:layout_marginLeft="2dip"
android:layout_marginRight="2dip" android:padding="5dip" android:background="@drawable/tab_normal"></ImageButton>
<ImageButton android:src="@drawable/indeedcom_small" android:id="@+id/tabBtt2"
android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="5dip"
android:layout_marginLeft="2dip" android:layout_marginRight="2dip" android:background="@drawable/tab_normal"></ImageButton>
<ImageButton android:src="@drawable/careerbuilder_logo_small" android:id="@+id/tabBtt3"
android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="5dip"
android:layout_marginLeft="2dip" android:layout_marginRight="2dip" android:background="@drawable/tab_normal"></ImageButton>
</TableRow>
</TableLayout>
</HorizontalScrollView>