How to make HorizontalScrollView RIGHT to LEFT Scroll android

后端 未结 3 1082
隐瞒了意图╮
隐瞒了意图╮ 2021-02-20 06:34

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.

相关标签:
3条回答
  • 2021-02-20 07:12

    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);
    
    0 讨论(0)
  • 2021-02-20 07:15

    Add this attribute to HorizontalScrollView :

    android:layoutDirection="rtl"
    
    0 讨论(0)
  • 2021-02-20 07:23

    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

    0 讨论(0)
提交回复
热议问题