Search code examples
androidright-to-lefthorizontalscrollview

HorizontalScrollView doesn't scroll to left in RTL mode


I have HorizontalScrollView with android:supportsRtl="true" in my application. But instead of scrolling to left, it scrolling to right anyway. How would i fix this?

    <HorizontalScrollView
    android:id="@id/audioScrollView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/size_normal"
    android:layout_toStartOf="@+id/retakeBtn"
    android:layout_toEndOf="@+id/recordBtn"
    android:background="@drawable/border_drawable"
    android:paddingBottom="@dimen/size_micro"
    android:paddingTop="@dimen/size_micro"
    android:scrollbars="none"
    >

I am running for 17 level api, so attributes in xml should be fine.


Solution

  • look at this example all you have to do is to add this line android:layoutDirection="rtl" to attribute of HorizontalScrollView

    <HorizontalScrollView
        android:id="@+id/horizontalScrollView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layoutDirection="rtl">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
    
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="1" />
    
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="2" />
    
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="3" />
    
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="4" />
    
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="5" />
    
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="6" />
    
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="7" />
    
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="8" />
    
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="9" />
        </LinearLayout>
    </HorizontalScrollView>
    

    enter image description here

    remember the views inside HorizontalScrollView will arrange them depending on ltr or rtl