Правда ли, что при кодировании на андроиде 360dp = вся ширина экрана?

1

Кажется, это для меня, на моем виртуальном устройстве Android.

Если это не так, то как я могу указать, например. 35% ширины экрана, без использования 360 *.35 = 126dp?

Теги:

2 ответа

8
Лучший ответ

Правда ли, что при кодировании для android 360dp = всей ширины экрана?

Нет.

Кажется, это для меня, на моем виртуальном устройстве Android.

Это не "вся ширина экрана" для любого стандартного разрешения экрана Android, о котором я могу думать. Например, 360dp = 360px для экранов средней плотности и 540px для экранов с высокой плотностью, и я точно знаю нулевые Android-устройства с 360px или 540px в любом измерении.

Также учтите, что "вся ширина экрана" будет меняться в зависимости от того, находится ли устройство в портретном или альбомном режиме.

Если это не так, то как я могу указать, например. 35% ширины экрана, без использования 360 *.35 = 126dp?

Используйте LinearLayout и android:layout_weight. Вот пример проекта, демонстрирующий это. Ключ находится в макете:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <Button
        android:text="Fifty Percent"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="50"
    />
    <Button
        android:text="Thirty Percent"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="30"
    />
    <Button
        android:text="Twenty Percent"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="20"
    />
</LinearLayout>

Каждый виджет обозначается как не имеющий внутренней высоты, поэтому общая высота делится между виджетами на основе их относительных весов.

1

Совсем нет! Экран не всегда 360dp! http://developer.android.com/guide/topics/resources/more-resources.html#Dimension

точек Пиксели - соответствуют фактическим пикселям на экране.

в Дюймы - на основе физического размера экрана.

мм Миллиметры - в зависимости от физического размера экрана.

пт Точки - 1/72 дюйма в зависимости от физического размера экрана.

дп Плотно-независимые пиксели - абстрактный блок, основанный на физической плотности экрана. Эти единицы относятся к экрану с разрешением 160 точек на дюйм, поэтому один пиксель составляет один пиксель на экране с разрешением 160 точек на дюйм. Отношение dp-to-pixel будет меняться с плотностью экрана, но не обязательно в прямой пропорции. Примечание. Компилятор принимает как "dip", так и "dp", хотя "dp" более соответствует "sp".

зр Масштабируемые пиксели - это похоже на блок dp, но он также масштабируется по предпочтению размера шрифта пользователя. Рекомендуется использовать этот аппарат при задании размеров шрифта, поэтому они будут настроены как на плотность экрана, так и на пользовательские предпочтения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню