Sto avendo un problema molto strano con un layout. Sembra progettato nell'editor XML di eclipse e nella mia galassia Samsung, ma è incasinato nel mio vecchio telefono xperia x10 mini. Posso solo supporre che ciò si verifichi anche in altri dispositivi.android - il layout sembra incasinato in alcuni dispositivi
Se qualcuno potesse contribuire a risolvere questo, sarei grato.
Ecco le due schermate e il codice XML.
come appare nel layout editor Eclipse e nel mio Samsung Galaxy S4 mini
come appare in Sony Xperia X10 mini
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:gravity="center"
android:layout_height="wrap_content" >
<FrameLayout
android:layout_marginTop="7dp"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<View android:layout_marginTop="19dp" android:layout_marginLeft="19dp" android:layout_height="249dp" android:layout_width="2dp" android:background="#B2CFEF"/>
<View android:layout_marginTop="19dp" android:layout_marginLeft="189dp" android:layout_height="249dp" android:layout_width="2dp" android:background="#B2CFEF"/>
<View android:layout_marginTop="18dp" android:layout_marginLeft="20dp" android:layout_height="2dp" android:layout_width="170dp" android:background="#B2CFEF"/>
<View android:layout_marginTop="267dp" android:layout_marginLeft="19dp" android:layout_height="2dp" android:layout_width="171dp" android:background="#B2CFEF"/>
<ImageView style="@style/ta_img" android:id="@+id/ta_lu" android:layout_marginTop="52dp" />
<ImageView style="@style/ta_img" android:id="@+id/ta_lc" android:layout_marginTop="124dp" />
<ImageView style="@style/ta_img" android:id="@+id/ta_ld" android:layout_marginTop="197dp" />
<ImageView style="@style/ta_img" android:id="@+id/ta_ru" android:layout_marginLeft="170dp" android:layout_marginTop="52dp" />
<ImageView style="@style/ta_img" android:id="@+id/ta_rc" android:layout_marginLeft="170dp" android:layout_marginTop="124dp" />
<ImageView style="@style/ta_img" android:id="@+id/ta_rd" android:layout_marginLeft="170dp" android:layout_marginTop="197dp" />
<ImageView style="@style/ta_img" android:id="@+id/ta_tl" android:layout_marginLeft="37dp" />
<ImageView style="@style/ta_img" android:id="@+id/ta_tc" android:layout_marginLeft="84dp" />
<ImageView style="@style/ta_img" android:id="@+id/ta_tr" android:layout_marginLeft="132dp" />
<ImageView style="@style/ta_img" android:id="@+id/ta_bl" android:layout_marginLeft="37dp" android:layout_marginTop="249dp" />
<ImageView style="@style/ta_img" android:id="@+id/ta_bc" android:layout_marginLeft="84dp" android:layout_marginTop="249dp" />
<ImageView style="@style/ta_img" android:id="@+id/ta_br" android:layout_marginLeft="132dp" android:layout_marginTop="249dp" />
</FrameLayout>
</LinearLayout>
e questo è lo stile di ImageViews
<style name="ta_img" >
<item name="android:layout_width">40dp</item>
<item name="android:layout_height">40dp</item>
<item name="android:clickable">true</item>
<item name="android:src">@drawable/ta</item>
</style>
Qualche idea ???
MODIFICA: Ho diviso tutti i valori di dp per 2 per vedere se il problema era che stavo usando alti valori di dp. Questo è il risultato avere entrambe le versioni contemporaneamente:
Come si desidera ridimensionare questa vista? Dovrebbe essere sempre più o meno della stessa larghezza/altezza del dispositivo, oppure vuoi che rimanga la stessa dimensione fisica su ogni dispositivo. Il motivo per cui ti chiedo è che il tuo layout attuale non è molto dinamico e probabilmente finirà per sembrare strano su molti dispositivi. – NasaGeek
potrebbe essere scalabile in base alle dimensioni del dispositivo e sembrare più grande nei dispositivi più grandi. So che l'xml che ho postato non è in scala ma è solo il primo passo. – Anonymous
Un paio di domande: 1) Quale versione di Android è l'Xperia? Livello API? 2) Qual è il drawable '@ drawable/ta' nello stile. È qualcosa che puoi condividere? Lo schermo sembra OK così come è su un emulatore con uno schermo LDPI 240x320 px. – Cheticamp