Autore Topic: Settando il textSize nella ListView, non vengono mostrati tutti i separatori!  (Letto 1219 volte)

Offline droid7

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +4
    • droidrcc
    • Mostra profilo
    • echlabSoftware
  • Dispositivo Android:
    Lg Optimus One
  • Play Store ID:
    echlab software
  • Sistema operativo:
    Archlinux
Salve a tutti, ho un problema con le ListView, a me sembra un bug... Se cambio valore al testo (con textSize) delle TextView della ListView, non vengo visualizzati tutte le linee che separano un elemento dall'altro, di seguito c'è lo screenshoot dove ho evidenziato il problema


mentre di seguito incollo il testcase e i layout:
Codice (Java): [Seleziona]
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class TestCase extends Activity {
       
        private ListView list;
       
        public void initialize() {
                list = (ListView) findViewById(R.id.ListView01);
                list.setAdapter(new ArrayAdapter<String>(this, R.layout.textview, new String[]{
                                "Testing", "Testing", "Testing", "Testing",
                                "Testing", "Testing", "Testing", "Testing",
                                "Testing", "Testing", "Testing", "Testing",
                                "Testing", "Testing", "Testing", "Testing"
                }));
        }

        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                initialize();
        }
}

R.layout.main:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/RelativeLayout01"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        xmlns:android="http://schemas.android.com/apk/res/android">
        <ListView android:id="@+id/ListView01" android:layout_width="fill_parent"
                android:layout_height="fill_parent" android:layout_above="@+id/LinearLayout01"></ListView>

        <LinearLayout android:id="@+id/LinearLayout01"
                android:layout_width="fill_parent" android:layout_height="wrap_content"
                android:layout_alignParentBottom="true">
                <Button android:id="@+id/Button01" android:layout_width="fill_parent"
                        android:layout_height="wrap_content" android:text="Refresh"
                        android:layout_weight="1"></Button>
                <Button android:id="@+id/Button02" android:layout_width="fill_parent"
                        android:layout_height="wrap_content" android:text="Exit"
                        android:layout_weight="1"></Button>
        </LinearLayout>
</RelativeLayout>

R.layout.textview:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:padding="10dp"
   android:textSize="16sp" >
</TextView>



« Ultima modifica: 16 Ottobre 2010, 11:37:35 CEST da droid7 »
Android applications: echlabSoftware

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Settando il textSize nella ListView, non vengono mostrati tutti i separatori!
« Risposta #1 il: 16 Ottobre 2010, 12:57:33 CEST »
0
Molto strano. Che api level usi?
Ma tra l'altro, perchè dai le dimensioni dle testo in sp?

Comunque, invece di dare esplicitamente la dimensione, prova ad usare

Codice (XML): [Seleziona]
android:textAppearance="?android:attr/textAppearanceLarge"

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Settando il textSize nella ListView, non vengono mostrati tutti i separatori!
« Risposta #2 il: 16 Ottobre 2010, 13:20:01 CEST »
0
Hai per caso utilizzato la funzione Scale display to real size per avviare l'emulatore?
Se la risposta è sì, il problema è quello.
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline droid7

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +4
    • droidrcc
    • Mostra profilo
    • echlabSoftware
  • Dispositivo Android:
    Lg Optimus One
  • Play Store ID:
    echlab software
  • Sistema operativo:
    Archlinux
Re:Settando il textSize nella ListView, non vengono mostrati tutti i separatori!
« Risposta #3 il: 16 Ottobre 2010, 13:58:53 CEST »
0
Uso le API 7 (Android 2.1), il problema si presenta uguale anche lanciando l'applicazione dallo smartphone, ho potuto constatare (cambiando unità di misura) che con 17dp non ci sono problemi, mentre con 16dp sì.
Stesso problema anche settando le dimensioni con android:textAppearance="?android:attr/textAppearanceLarge".

Come posso risolvere ?
« Ultima modifica: 16 Ottobre 2010, 14:00:33 CEST da droid7 »
Android applications: echlabSoftware

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Settando il textSize nella ListView, non vengono mostrati tutti i separatori!
« Risposta #4 il: 16 Ottobre 2010, 14:05:44 CEST »
0
Stesso problema anche settando le dimensioni con android:textAppearance="?android:attr/textAppearanceLarge".

Se metti android:textAppearance="?android:attr/textAppearanceLarge" non devi mettere le dimensioni

Offline droid7

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +4
    • droidrcc
    • Mostra profilo
    • echlabSoftware
  • Dispositivo Android:
    Lg Optimus One
  • Play Store ID:
    echlab software
  • Sistema operativo:
    Archlinux
Re:Settando il textSize nella ListView, non vengono mostrati tutti i separatori!
« Risposta #5 il: 16 Ottobre 2010, 14:08:36 CEST »
0
Se metti android:textAppearance="?android:attr/textAppearanceLarge" non devi mettere le dimensioni
Si certo, ho tolto le dimensioni:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:padding="10dp"
  android:textAppearance="?android:attr/textAppearanceLarge">
</TextView>

Il problema permane:

Android applications: echlabSoftware

Offline droid7

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +4
    • droidrcc
    • Mostra profilo
    • echlabSoftware
  • Dispositivo Android:
    Lg Optimus One
  • Play Store ID:
    echlab software
  • Sistema operativo:
    Archlinux
Re:Settando il textSize nella ListView, non vengono mostrati tutti i separatori!
« Risposta #6 il: 16 Ottobre 2010, 15:49:48 CEST »
0
RISOLTO! Allora penso si tratta di un problema di rendering che coinvolge le vecchie API, ho risolto prendendo spunto da qui: http://groups.google.com/group/android-developers/browse_thread/thread/e1015b9559621e40
impostando nel Manifest:
Codice (XML): [Seleziona]
<uses-sdk android:minSdkVersion="5"/> in questo modo penso si dice di utilizzare una versione delle API >=5.
Android applications: echlabSoftware

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Settando il textSize nella ListView, non vengono mostrati tutti i separatori!
« Risposta #7 il: 16 Ottobre 2010, 16:03:49 CEST »
0
in questo modo penso si dice di utilizzare una versione delle API >=5.

In realtà no, il compilatore usa l'api level che hai impostato quando hai creato il progetto :)

Offline droid7

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +4
    • droidrcc
    • Mostra profilo
    • echlabSoftware
  • Dispositivo Android:
    Lg Optimus One
  • Play Store ID:
    echlab software
  • Sistema operativo:
    Archlinux
Re:Settando il textSize nella ListView, non vengono mostrati tutti i separatori!
« Risposta #8 il: 16 Ottobre 2010, 18:34:07 CEST »
0
mistero della fede allora... per noi credenti di Android  :D
Però sicuramente il dispositivo farà qualche controllo su questa costante, perchè con questa direttiva non ho problemi di rendering sul dispositivo.
« Ultima modifica: 16 Ottobre 2010, 18:37:53 CEST da droid7 »
Android applications: echlabSoftware

Offline droid7

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +4
    • droidrcc
    • Mostra profilo
    • echlabSoftware
  • Dispositivo Android:
    Lg Optimus One
  • Play Store ID:
    echlab software
  • Sistema operativo:
    Archlinux
Re:Settando il textSize nella ListView, non vengono mostrati tutti i separatori!
« Risposta #9 il: 17 Ottobre 2010, 11:00:50 CEST »
+2
Comunque ho trovato questo che può essere utile per capire:

The default values for the <supports-screens> attributes differ, depending on the the value of the android:minSdkVersion attribute in the application's manifest, as well as on the value of android:targetSdkVersion, if declared:

- If android:minSdkVersion or android:targetSdkVersion is "4" (Android 1.6) or higher, the default value for everything is "true". If your application uses APIs introduced in Android 1.6 or higher, but does not support specific screen densities and/or screen sizes, you need to explicitly set the appropriate attributes to "false".

- If android:minSdkVersion is declared with a value of "3" (Android 1.5) or lower and a android:targetSdkVersion attribute is not declared with a value of "4" or higher, the default value for all attributes except android:normalScreens is "false". If you are primarily targeting pre-Android 1.6 platforms but also want to support other densities/screen sizes, you need to explicitly set the appropriate attributes to "true".
Android applications: echlabSoftware

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Settando il textSize nella ListView, non vengono mostrati tutti i separatori!
« Risposta #10 il: 17 Ottobre 2010, 11:10:21 CEST »
0
Ti ringrazio per il chiarimento, a dire il vero mi turbava un poco non sapere perché il problema spariva utilizzando android:minSdkVersion :)

Che dici, si  può marcare il topic come risolto?
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline droid7

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +4
    • droidrcc
    • Mostra profilo
    • echlabSoftware
  • Dispositivo Android:
    Lg Optimus One
  • Play Store ID:
    echlab software
  • Sistema operativo:
    Archlinux
Re:Settando il textSize nella ListView, non vengono mostrati tutti i separatori!
« Risposta #11 il: 17 Ottobre 2010, 11:59:04 CEST »
0
Si certo, però mi sembrava di averlo già fatto, mha! :)
Android applications: echlabSoftware