Search code examples
androidpreviewandroid-jetpack-compose

Choose for which device the preview is shown, jetpack compose


In the View system we could choose XML preview for different devices, but I could not find a way to choose preview device for Jetpack Compose. How do we set preview for different devices while using Jetpack Compose?


Solution

  • You can do it like this

    @Preview(device = Devices.PIXEL_2_XL)
    @Composable
    fun DefaultPreview() {
        MyApplicationFooTheme {
            Greeting("Android")
        }
    }
    

    The list of available devices is here

    object Devices {
        const val DEFAULT = ""
    
        const val NEXUS_7 = "id:Nexus 7"
        const val NEXUS_7_2013 = "id:Nexus 7 2013"
        const val NEXUS_5 = "id:Nexus 5"
        const val NEXUS_6 = "id:Nexus 6"
        const val NEXUS_9 = "id:Nexus 9"
        const val NEXUS_10 = "name:Nexus 10"
        const val NEXUS_5X = "id:Nexus 5X"
        const val NEXUS_6P = "id:Nexus 6P"
        const val PIXEL_C = "id:pixel_c"
        const val PIXEL = "id:pixel"
        const val PIXEL_XL = "id:pixel_xl"
        const val PIXEL_2 = "id:pixel_2"
        const val PIXEL_2_XL = "id:pixel_2_xl"
        const val PIXEL_3 = "id:pixel_3"
        const val PIXEL_3_XL = "id:pixel_3_xl"
        const val PIXEL_3A = "id:pixel_3a"
        const val PIXEL_3A_XL = "id:pixel_3a_xl"
        const val PIXEL_4 = "id:pixel_4"
        const val PIXEL_4_XL = "id:pixel_4_xl"
    
        const val AUTOMOTIVE_1024p = "id:automotive_1024p_landscape"
    }