Ritratto per telefono, paesaggio per Tablet (Android-Layout)

Quindi sto facendo un'applicazione per Android e voglio forzare l'orientamento orizzontale per le tavolette e l'orientamento ritratto per i telefoni. Tuttavia, sembra che posso solo fare un block di orientamento da quello che ho visto che sconfigge lo scopo di volere due orientamenti separati per i dispositivi.

Tavolette: telefoni di paesaggio: ritratto

  • Come utilizzare FTS3 in SQLite
  • come conoscere l'indirizzo IP del router dal codice in android?
  • Android: addview () - aggiungendo una nuova vista in cima all'attività
  • Vorrei visualizzare la visualizzazione di text come un collegamento cliccabile
  • Tema diverso per diverse versioni SDK Android
  • Android NDK & FFMPEG build
  • Per renderlo più tecnico.

    Ho un layout in "res / layout-xlarge-land" per il paesaggio sul tablet e ho il layout originale in "res / layout" e voglio solo usare esplicitamente layout-xlarge-land per la tavoletta. Niente altro, essenzialmente SOLO utilizzando il paesaggio per i dispositivi xlarge.

    Grazie!

  • Android ha intenzione di condividere il text AND-link di facebook
  • Come impostare la sfumatura come il colore di text di un TextView?
  • Come creare un file in una directory SDCARD
  • imansible caricare funG glGetActiveUniform in emulatore android
  • Prettificare la mia applicazione Android?
  • Calcolo delle intersezioni tra i segmenti di linea
  • 4 Solutions collect form web for “Ritratto per telefono, paesaggio per Tablet (Android-Layout)”

    Impostazione di un particolare orientamento basato sulla densità del dispositivo potrebbe non funzionare perché ci sono telefoni che hanno densità più alte delle compresse.

    Quello che ho fatto è distriggersre il sensore di orientamento del dispositivo impostando l'attributo nel tag di attività nel file manifesto come questo:

    android:screenOrientation="nosensor" 

    Quando si esegue l'applicazione, per impostazione predefinita l'orientamento verticale è impostato per i telefoni e il paesaggio per le compresse (e quindi seleziona il file xml da layout-xlarge-land ). E poiché hai impostato un block di orientamento, rimane in questo orientamento.

    È ansible misurare la dimensione effettiva (in pollici) del dispositivo e impostare in modo programmato l'orientamento utilizzando:

     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

    o

     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

    Per get la dimensione fisica del dispositivo è ansible utilizzare il codice qui pubblicato.

    Non è al 100% preciso, ma è abbastanza buono per decidere quale re del dispositivo sta eseguendo l'applicazione.

    Non sono completamente sicuro di quello che stai dicendo, ma sembra che dovresti misurare la risoluzione e agire di conseguenza. Voglio dire, come fai a sapere se è un telefono o una tavoletta, tranne che la risoluzione è diversa?

    impostare un layout denominato llTablet nel menu di layout nei layout della cartella "layout-large" e un layout di llPhone nel menu di layout nella cartella "layout". Dal menu mi riferisco al primo layout che l'utente sta entrando. Quindi controllare se è ansible fare riferimento. Se non si può fare riferimento a llPhone allora è un tablet.

     llPhone = (LinearLayout) findViewById (R.id.llPhone) if (llPhone == null) { tablet = true; } else { tablet = false; } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.