By default HorizontalScrollView
scrolls from Left to Right but I want to scroll from Right to Left.
How to do this? Any help will be appreciated.
add layout_gravity RIGHT its helpful when items dose not wrap hole with
<HorizontalScrollView
android:id="@+id/scrollPartition"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<LinearLayout
android:id="@+id/lytPartition"
android:layout_gravity="right"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:scrollbars="none">
</LinearLayout>
</HorizontalScrollView>
and in code need to scroll to the end of list
findViewById(R.id.scrollPartition).post(new Runnable() {
@Override
public void run() {
((HorizontalScrollView) findViewById(R.id.scrollPartition)).fullScroll(View.FOCUS_RIGHT);
}
});
to set layout_gravity programmatically use this :
HorizontalScrollView scrollView = new HorizontalScrollView(context);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
layoutParams.gravity = Gravity.RIGHT;
scrollView.setLayoutParams(layoutParams);
Add this attribute to HorizontalScrollView :
android:layoutDirection="rtl"
You can scroll it to the right edge of your scroll view in your code with something like this:
scrollView.postDelayed(new Runnable() {
public void run() {
scrollView.fullScroll(HorizontalScrollView.FOCUS_RIGHT);
}
}, 100L);
Related Q and A is https://stackoverflow.com/a/4720563/2511775