当前位置: 首页 > 知识库问答 >
问题:

为低于17的api设置LayoutDirection(RTL)

卢权
2023-03-14

我将构建一个波斯应用程序(RTL)。我的应用程序包括一个列表视图和一个导航抽屉。

我在应用程序标签中添加了清单

在方法中:getWindow()。getDecorView()。setLayoutDirection(View.LAYOUT\u DIRECTION\u RTL)

我知道,对于少于17个api,布局方向(LayoutDirection)不起作用。

对于api级别17及更高:

对于低于17的api:

我该如何解决这个问题。1-放置一个条件语句来检查android api并分配一个特定的布局?在eclipse中使用文件夹布局ldrtl?3 - ... ? 最好的方法是什么??

<android.support.v4.widget.DrawerLayout

       xmlns:android="http://schemas.android.com/apk/res/android"

    android:id="@+id/drawer_layout"


    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/myback">



<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="40dp"  >


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_marginLeft="60dp"
        android:layout_marginRight="60dp"
        android:layout_marginBottom="20dp"
        android:layout_marginTop="20dp" >




        <EditText
        android:id="@+id/edtxtsearch"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:layout_gravity="center_horizontal"
         android:hint="عبارت مورد جستجو"
          android:textSize="13dp"
         >

        <requestFocus />
    </EditText> 


        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:layout_gravity="center"

            >


            <ListView
                        android:id="@+id/mylist"
                        android:layout_width="200dp"
                      android:layout_height="wrap_content"
                      android:layout_gravity="center_horizontal"
                      android:divider="@android:color/transparent"
                      android:dividerHeight="7dp"
                      android:scrollbarStyle="outsideInset"
                      />



           </LinearLayout>



</LinearLayout>




<FrameLayout
        android:id="@+id/frame_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"

         >



    </FrameLayout>



     <ListView
        android:id="@+id/list_slidermenu"
        android:layout_width="240dp"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:choiceMode="singleChoice"
        android:background="#ffffff"
        android:dividerHeight="4dp"  
         android:divider="@android:color/transparent"     

       />

    </android.support.v4.widget.DrawerLayout>

共有2个答案

翁心思
2023-03-14

只需将要在text View中设置的每个字符串"\u202B"连接起来

它只是强制文本为RTL。

String textWhichIsLTR = "LTR or RTL text that you want to enforce to RTL";
String enforcedRTL = textWhichIsLTR + "\u202B";
fooTextView.setText(enforcedRTL);
邢新
2023-03-14

使用ViewCompat从android.support.v4.view.ViewCompat!

ViewCompat.setLayoutDirection (View yourView, int layoutDirection)

layoutDirection是ViewCompat类中的常量

 类似资料:
  • 问题内容: 在Java中是否存在用于集合操作的API,例如联合,交集,差,笛卡尔乘积,从一个集合到另一个集合的函数,这些函数的域限制和范围限制,.... Java? 请评论(操作)的覆盖范围和性能。 谢谢 问题答案: 是的,java 类。 通过Java SE教程: —如果s2是s1的子集,则返回true。(如果集合s1包含s2中的所有元素,则s2是s1的子集。) —将s1转换为s1和s2的并集。(

  • 问题内容: 在numpy中我有一个数组 将超低值设置为零的最快,最简单的方法是什么 效率不是最重要的。 问题答案: 嗯 我对此并不满意,但这似乎可行: 您可以根据自己的问题选择容忍度。我通常使用一个数量级以上 但这取决于问题。

  • 问题内容: 我们都知道Java在(被认为是“常用” )范围内为数字缓存(以及一些其他类型)。 缓存的设计如下: 我知道可以通过为JVM提供参数来扩展值: 我不明白的是为什么我们不允许覆盖该值? 请注意,我并不是想找到一种解决方法,而是要理解为什么出于某些晦涩的原因而不允许这样做。 问题答案: 发现对此已经存在未解决的RFP。 乔·达西(Joe Darcy)对这个问题发表了评论: 可以想象也可以缓存

  • 通过这些方法可选择驱动或配置数据库。这些方法通常应该在第一个 数据 API 调用之前调用(即在你调用 getItem() 或 length() 之前) setDriver // 强制设置 localStorage 为后端的驱动 localforage.setDriver(localforage.LOCALSTORAGE); // 列出可选的驱动,以优先级排序 localforage.se

  • 将清单中的compileSdkVersion设置为小于最新的api内部版本号有什么好处吗,还是您应该始终将其设置为最新的api内部版本? 我说的优势是指应用程序的性能、应用程序的编译时间、apk的大小等。当然,我指的是你可以把它设置得更低的情况--例如,一个应用程序不使用共享转换或任何Lollipop的功能。