2015-08-02 2 views
0

Я кодирование многопоточного приложения языка один из этих языков является арабским, что при выборе я хочу RTLize все, даже фрагмента ящика программного, пожалуйста, найти ниже макет XML:фрагмента RTL с ActionBar

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 

    android:orientation="vertical"> 

    <LinearLayout 
     android:id="@+id/container_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 

     android:orientation="vertical"> 

     <include 
      android:id="@+id/toolbar" 
      layout="@layout/toolbar" /> 
    </LinearLayout> 

    <FrameLayout 
     android:id="@+id/container_body" 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" > 


    </FrameLayout> 


</LinearLayout> 


<fragment 
    android:id="@+id/fragment_navigation_drawer" 
    android:name="com.customview.albertaadm.testapplication.FragmentDrawer" 
    android:layout_width="@dimen/nav_drawer_width" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    app:layout="@layout/fragment_navigation_drawer" 
    tools:layout="@layout/fragment_navigation_drawer" /> 

Так мне удалось RLT в ActionBar и целые кнопки, но используя следующий код:

if (Lang.equals("ar")) { 
     rtlizer = new ActionBarRtlizer(this, "toolbar"); 
     ViewGroup actionBarView = rtlizer.getActionBarView(); 
     ViewGroup homeView = (ViewGroup) rtlizer.findViewByClass("HomeView", actionBarView); 
     rtlizer.flipActionBarUpIconIfAvailable(homeView); 
     RtlizeEverything.rtlize(actionBarView); 
     RtlizeEverything.rtlize(homeView); 

, но как я могу сделать fragment_navigation_drawer для повторной позиции справа и открыть его вправо? Спасибо.

ответ

1

Вы можете достичь этого, добавив android:supportsRtl="true" в элемент <application> в файл манифеста. но проблема с этим - поддержка Native RTL происходит только после Android 4.2. Если ваше приложение поддерживает до 4.2, RTL не будет работать. Больше информации: - http://android-developers.blogspot.in/2013/03/native-rtl-support-in-android-42.html

+0

Здравствуйте, мне удалось RTL для устройств до 4.2. Моя основная проблема связана с ящиком фрагментов, который я хочу, когда я переворачиваю представление, чтобы переместить его вправо и открыть влево ... – Albert

+0

Посмотрите на этот ответ http://stackoverflow.com/a/19358114/1384010, как в этом ответе, попробуйте установить гравитацию в свой список. –

+0

Здравствуйте, это не ListView это фрагмент <фрагмент андроида: ID = "@ + идентификатор/fragment_navigation_drawer" андроид: имя = "com.customview.albertaadm.testapplication.FragmentDrawer" андроид: layout_width = "@ DIMEN/nav_drawer_width " android: layout_height =" match_parent " android: layout_gravity =" start " app: layout =" @ layout/fragment_navigation_drawer " tools: layout =" @ layout/fragment_navigation_drawer "/> – Albert

Смежные вопросы