将api的LayoutDirection(RTL)设置为低于17
我要建立一个Persian app (RTL)
.
我的应用程序包括一个ListView和一个导航抽屉
.
I am going to build a Persian app (RTL)
.
my app includes a ListView and a Navigation Drawer
.
我在应用程序标记android:supportsRtl="true"
并在onCreate()
方法中:getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
我知道LayoutDirection
少于17个api无效.
I know that LayoutDirection
for less than 17 api does not work.
对于api级别17和更高版本:
for api level 17 and higher:
对于低于17的api:
for api lower than 17:
我该如何解决此问题. 1-放置conditional statement
来检查android api并分配特定的布局?在Eclipse中使用2次使用文件夹layout-ldrtl
? 3-...?
最好的方法是什么?
How do I solve this problem. 1- Putting a conditional statement
to check the android api and assign a particular layout ? 2-use folder layout-ldrtl
in eclipse? 3 - ... ?
What is the best way??
<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>
使用android.support.v4.view.ViewCompat中的 ViewCompat !
use ViewCompat from android.support.v4.view.ViewCompat !
ViewCompat.setLayoutDirection (View yourView, int layoutDirection)
layoutDirection是ViewCompat类的常量