ДП подходит для телефона, но слишком мал для планшета в Android
Я работал над приложением, которое подходит для телефона, но теперь мне нужно, чтобы оно подходило для планшета. Проблема в том, что для того же самого dp он хорошо работает на телефоне, однако для планшета он слишком мал, я искал решение, подобное этому:
http://developer.android.com/design/style/metrics-grids.html
Обнаружил, что дп на планшете это двойной / тройной телефон. Итак, если я хочу определить размер настраиваемой панели действий, как показано ниже, как я могу установить ее на планшет? 60 dp подходит для телефона 4"~5", но слишком мал для 7"~10" планшета
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
<!-- API 11 theme customizations can go here. -->
<item name="android:actionBarSize">60dp</item>
</style>
1 ответ
Способ обработки ресурсов Android позволяет разработчикам указывать различные размеры в зависимости от размеров экрана. В ваших макетах XML вы можете иметь:
<FrameLayout
android:layout_width="@dimen/subtitle_container_width"
android:layout_height="wrap_content">
...
</FrameLayout>
И это значение будет указано в разных папках, каждая из которых соответствует вашим потребностям.
Учитывая, что ваш res
каталог имеет похожую структуру, как показано ниже:
res/
values
values-sw400dp
values-sw720dp
Вы можете создать dimens.xml
файл в каждой из этих папок, содержащий:
<resources>
<dimen name="subtitle_container_width">(VALUE IN DP)</dimen>
</resources>
Android автоматически выберет для вас правильное значение во время выполнения. В этом примере у вас может быть определенный размер для устройств с наименьшей шириной 720dp и 400dp. Если устройство не имеет как минимум 400dp, значение по умолчанию в values
папка будет использоваться.
Вы можете создать больше папок в соответствии с вашими потребностями, с различными размерами или модификаторами (наименьшее измерение X, минимальная высота Y и т. Д.).
Вы можете найти больше информации здесь: http://developer.android.com/guide/topics/resources/providing-resources.html