在RTL模式下,Horizo​​ntalScrollView不会向左滚动

时间:2015-11-18 15:29:16

标签: android right-to-left horizontalscrollview

我的应用程序中有android:supportsRtl="true"的Horizo​​ntalScrollView。但不是向左滚动,而是向右滚动。我该如何解决这个问题?

    <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中的属性应该没问题。

2 个答案:

答案 0 :(得分:2)

查看此示例,您只需要将此行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>

enter image description here

请记住views内的HorizontalScrollView将根据ltrrtl

排列 for(i = 1; i <= 295; i++) { Copier_Pixel(img, background); if(i%3 == 0) j = j++; if(j == 3) j = 0; if(i%4 == 0) k = k++; if(k == 4) k = 0; Ajouter_Calque(img, nuage_ar, 150, i-100); /****************** Animation Bird ****************/ if(i <= 32) Ajouter_Calque(img, oiseau[j], 250-i/2, 450-2*i); if(i >= 33 && i <= 125) Ajouter_Calque(img, oiseau[j], 250-i, 450-2*i); if(i >= 126) { Ajouter_Calque(img, oiseau[j], 125+m, 450-2*i); m++; } /**************************************************/ Ajouter_Calque(img, nuage_av, 200, 400-3*i); /***************** Animation Mario ****************/ if(i <= 32) Ajouter_Calque(img, mario[k], 93, 2*i); if(i >= 33 && i <= 69) { x = 1; px1 = 1100 + x; py1 = f(500, x, 50, 15); Ajouter_Calque(img, mario[k], 95-o, 2*i); // To-do : f() ou fNeg() de px1/py1 o++; x++; } if(i >= 70 && i <= 125) Ajouter_Calque(img, mario[k], 59, 2*i); if(i >= 126 && i <= 200) { Ajouter_Calque(img, mario[k], 59+p/2, 2*i); p++; } /**************************************************/

答案 1 :(得分:0)

使用此代码并创建上下颠倒的视图

final HorizontalScrollView s=(HorizontalScrollView)ll.findViewById(R.id.horizontalScrollView);
    s.postDelayed(new Runnable() {
        public void run() {
            s.fullScroll(HorizontalScrollView.FOCUS_RIGHT);
        }
    }, 100L);