HorizontalScrollView 在 RTL 模式下不向左滚动
HorizontalScrollView doesn't scroll to left in RTL mode
我的应用程序中有带 android:supportsRtl="true"
的 HorizontalScrollView。但是它不是向左滚动,而是向右滚动。我该如何解决这个问题?
<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"
>
我运行17级api,所以xml中的属性应该没问题。
看看这个例子,你所要做的就是将这一行 android:layoutDirection="rtl"
添加到 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>
记住HorizontalScrollView
里面的views
会根据ltr
或rtl
排列
使用此代码并创建倒置视图
final HorizontalScrollView s=(HorizontalScrollView)ll.findViewById(R.id.horizontalScrollView);
s.postDelayed(new Runnable() {
public void run() {
s.fullScroll(HorizontalScrollView.FOCUS_RIGHT);
}
}, 100L);
我的应用程序中有带 android:supportsRtl="true"
的 HorizontalScrollView。但是它不是向左滚动,而是向右滚动。我该如何解决这个问题?
<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"
>
我运行17级api,所以xml中的属性应该没问题。
看看这个例子,你所要做的就是将这一行 android:layoutDirection="rtl"
添加到 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>
记住HorizontalScrollView
里面的views
会根据ltr
或rtl
使用此代码并创建倒置视图
final HorizontalScrollView s=(HorizontalScrollView)ll.findViewById(R.id.horizontalScrollView);
s.postDelayed(new Runnable() {
public void run() {
s.fullScroll(HorizontalScrollView.FOCUS_RIGHT);
}
}, 100L);