当布局方向为rtl时,按钮更改方向

时间:2019-05-03 20:12:42

标签: android

我正在开发完全用希伯来语(RTL)制作的应用程序,我在manifest supportRtl中将true设置为true并使用以下样式:

<item name="android:layoutDirection">rtl</item>
<item name="android:textDirection">rtl</item>

在我的一项活动中,我使用了FragmentViewPager,它占据了大部分屏幕,在底部,我添加了一个按钮,可以转到下一个片段(我禁用了滑动寻呼机的选项)。

问题是,当我单击按钮(nextButton)时,寻呼机会滑动片段,但按钮本身会改变侧面(位于屏幕的右侧并跳到左侧),而当我继续单击时它会转到下一页,它会保留在左侧,如果我更改xml的一侧以使其显示在右侧,则在第一次单击时将跳转到右侧。

这是按钮xml的代码:

<Button
        android:layoutDirection="rtl"
        android:textColor="@color/white"
        android:fontFamily="@font/rubik_regular"
        app:layout_constraintEnd_toEndOf="parent"
        android:background="@drawable/border_button"
        android:id="@+id/next_btn"
        app:layout_constraintBottom_toBottomOf="parent"
        android:text="@string/next"
        android:textSize="18sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"/>

如您所见,我将其设置为父项的末尾。

当寻呼机更改页面时,活动似乎重新呈现,但是为什么会导致方向改变?

我将添加屏幕的gif,以便您可以更好地查看该问题。  enter image description here

*我在寻呼机上添加了4个相同的片段,只是为了测试它的工作。

0 个答案:

没有答案