Ho inserito un GridView nel file di layout XML.Errore GridView nell'intervallo orizzontale
Viene visualizzato come avrei voluto, in lingua inglese (LTR) su entrambi API 17-21 Ma quando ho WITCH la lingua araba (RTL) il horizontalSpacing viene ignorato su API 17-19 ma su API 21 viene visualizzato come volevo.
Lo stesso comportamento si verificava sugli emulatori e sui dispositivi Android reali.
codice XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/services_home_main_layout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/services_home_contents"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_above="@+id/services_home_bottom_layout">
<GridView
android:id="@+id/services_home_services_gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="3"
android:horizontalSpacing="4dp"
android:verticalSpacing="4dp"
android:layout_margin="4dp"
android:gravity="center"
android:choiceMode="singleChoice" />
</LinearLayout>
<LinearLayout
android:id="@id/services_home_bottom_layout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" />
</RelativeLayout>
codice XML per gli oggetti:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/services_drawer_item_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:padding="4dp"
android:background="@color/Gray_CC"
android:drawableTop="@drawable/tall4"
android:text="@string/app_name" />
Ecco i miei screenshot di arabo (RTL) UI:
Avviso la spaziatura orizzontale nel primo screenshot
Questo dovrebbe funzionare per GridView solo con l'immagine, ma se c'è del testo potrebbe essere specchiato. Quindi l'elemento Grid deve anche essere ruotato di 180. – darshanz
Ho appena impostato la direzione per 'grid.setLayoutDirection (View.LAYOUT_DIRECTION_LTR)' e ha funzionato. –