问题
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.
回答1:
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>
remember the views
inside HorizontalScrollView
will arrange them depending on ltr
or rtl
回答2:
use this code and create view upside down
final HorizontalScrollView s=(HorizontalScrollView)ll.findViewById(R.id.horizontalScrollView);
s.postDelayed(new Runnable() {
public void run() {
s.fullScroll(HorizontalScrollView.FOCUS_RIGHT);
}
}, 100L);
来源:https://stackoverflow.com/questions/33784046/horizontalscrollview-doesnt-scroll-to-left-in-rtl-mode