2013-04-02 8 views
0

И Samsung Galaxy S3, и HTC Sensation соответствуют категории макета-sw360dp.Samsung Galaxy S3 и HTC Sensation используют неверный файл макета

Galaxy s3> (720/320) х 160 = 360

Ощущение> (540/240) х 160 = 360

Однако при попытке создания папки компоновки макета-w540dp-h960dp. Он не читает его, а вместо этого он читает из макета папки-sw360dp.

Как предотвратить это и сделать каждую нагрузку в пределах своего конкретного макета? и почему layout-w540dp-h960dp не работает?

+0

Что вы думаете об этом? – Budius

+0

@Budius мое сообщение отредактировано. посмотрите пожалуйста. – tony9099

+0

@CoreyScott вы можете уточнить, пожалуйста? – tony9099

ответ

1

Это потому, что layout-sw<N>dp имеет более высокий приоритет, чем layout-w<N>dp.

В Android определители папок ресурсов выбираются в соответствии с определенными правилами приоритета. У вас есть look at this table. Он определяет все доступные квалификаторы конфигурации, которые могут использоваться для предоставления альтернативных ресурсов.

В соответствии с этой таблицей layout-sw<N>dp имеет более высокий приоритет, чем layout-w<N>dp. Поэтому, если возникает конфликт, Android всегда выбирает самый высокий квалификатор конфигурации.

Здесь оба устройства могут принимать ресурсы от layout-sw360dp. Поэтому оба устройства используют одну и ту же папку для выбора ресурсов.