Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2015
    Messaggi
    4

    Capire se mi trovo su un tablet o smartphone android

    Ciao a tutti, sono nuovo del forum e spero di ricevere una risposta perché non sò cosa inventarmi.

    Sto sviluppando un app nella quale ho bisogno di avere degli elementi grafici presi da un mio server, unico problema è che questi elementi grafici sono diversi per i tablet e per gli smartphone, quindi mi servirebbe capire come fare per sapere se la mia app si trova su un tablet o su di uno smartphone.

    Ho provato con questo codice ma mi da errore:
    codice:
    Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
    
    int x = display.getWidth();
    int y = display.getHeight();
    in teoria cosi dovrei avere la larghezza e l'altezza del display ma getSystemServices(WINDOW_SERVICE) me lo da rosso e getWidth , getHeight me li barra.

    Sapete come posso fare? almeno per ricevere le dimensioni del display?
    una volta fatto quello con un if forse dovrei riuscire a capire di cosa si trtta.


    Grazie in anticipo per ogni risposta

  2. #2
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,700
    la riga in rosso è codice errato, quella barrata è codice deprecato
    Prova:

    codice:
    int larghezza = this.getResources().getDisplayMetrics().widthPixels;
    int altezza= this.getResources().getDisplayMetrics().heightPixels;
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2015
    Messaggi
    4
    Grazie Misterxxx
    ho provato il codice all'interno della splashscreen e funziona ricevo i pixel del display.

    Avrei bisogno però di poter sapere i pixel all'interno di una classe perché in base alla dimensione devo impostare diversamente questa variabile:
    codice:
    
    
    codice:
    public static final String stringa = "la stringa";


    ho provare ad inserire il codice che mi hai dato ma mi da errore in rosso su getResources e non mi chiede di importare nessuna classe.

    per farla breve io vorrei fare questo:

    codice:
    
    
    codice:
    public class AppConst {int larghezza = this.getResources().getDisplayMetrics().widthPixels;
    Log.d("splash", "larghezza = " + larghezza);
    int altezza = this.getResources().getDisplayMetrics().heightPixels;
    Log.d("splash", "altezza = " + altezza);
    
    if (larghezza < altezza) {
       public static final String stringa= "stringa1";
       } else {
    
       public static final String stringa = "stringa2";   }}



    Spero di essermi spiegato

  4. #4
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,700
    in una classe non puoi impostare il contesto, lo devi passare come parametro nella chiamata
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2015
    Messaggi
    4
    hmmm

    Me lo potresti fare un esempio?

  6. #6
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,700
    Quote Originariamente inviata da turop Visualizza il messaggio
    hmmm

    Me lo potresti fare un esempio?
    di cosa? passare un parametro ad una classe?
    oltretutto potresti passare direttamente i pixel del display
    come è strutturata l'app?
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2015
    Messaggi
    4
    Un esempio di come risolveresti questa cosa.

    allora io ho una classe nella quale non faccio altro che inizializzare una decina di stringhe le quali contengono dei link e username.

    siccome ho notato che alcune immagini su smartphone non vanno bene ho bisogno che all'avvio, nella classe dove inizializzo le variabili , tramite un if posso scegliere se impostare la variabile ad un url oppure ad un altro. in pratica se larghezza è maggiore di altezza allora stringa è uguale a 1 altrimenti 2.

    questo lo devo fare all'avvio dell'app xk nello splashscreen recupero tutte le immagini di cui avrò bisogno.

    come pensi possa fare?

  8. #8
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,700
    passali dallo splashscreen, una roba del genere:
    codice:
    ...
    int larghezza = this.getResources().getDisplayMetrics().widthPixels;
    int altezza= this.getResources().getDisplayMetrics().heightPixels;
    AppConst (larghezza, altezza);
    ...
    public class AppConst (int larghezza, int altezza) {
    Log.d("splash", "larghezza = " + larghezza);
    Log.d("splash", "altezza = " + altezza);
    
    if (larghezza < altezza) {
    ... ecc...
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.