Каково различие между “пкс”, “падением”, “разностью потенциалов” и “SP”?

Прежде всего ваша логика показывает рекламу после 16-го клика, потому что счетчик начинается с 0.

Вы можете сделать

if counter == 14 {
   counter = 0
   // show ad
} else { counter += 1 }

или

guard counter < 14 else {
   counter = 0
   // show ad
   return
} 
counter += 1

Это позволяет избежать переполнения Int через пару сотен лет

5668
задан CopsOnRoad 2 December 2018 в 19:08
поделиться

3 ответа

Из Документации разработчика Android :

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

  2. в
    дюймах - в зависимости от физического размера экрана.
    1 дюйм = 2,54 сантиметра

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

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

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

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

Из Понимание независимости плотности в Android :

+----------------+----------------+---------------+-------------------------------+
| Density Bucket | Screen Density | Physical Size | Pixel Size                    | 
+----------------+----------------+---------------+-------------------------------+
| ldpi           | 120 dpi        | 0.5 x 0.5 in  | 0.5 in * 120 dpi = 60x60 px   | 
+----------------+----------------+---------------+-------------------------------+
| mdpi           | 160 dpi        | 0.5 x 0.5 in  | 0.5 in * 160 dpi = 80x80 px   | 
+----------------+----------------+---------------+-------------------------------+
| hdpi           | 240 dpi        | 0.5 x 0.5 in  | 0.5 in * 240 dpi = 120x120 px | 
+----------------+----------------+---------------+-------------------------------+
| xhdpi          | 320 dpi        | 0.5 x 0.5 in  | 0.5 in * 320 dpi = 160x160 px | 
+----------------+----------------+---------------+-------------------------------+
| xxhdpi         | 480 dpi        | 0.5 x 0.5 in  | 0.5 in * 480 dpi = 240x240 px | 
+----------------+----------------+---------------+-------------------------------+
| xxxhdpi        | 640 dpi        | 0.5 x 0.5 in  | 0.5 in * 640 dpi = 320x320 px | 
+----------------+----------------+---------------+-------------------------------+
+---------+-------------+---------------+-------------+--------------------+
| Unit    | Description | Units Per     | Density     | Same Physical Size | 
|         |             | Physical Inch | Independent | On Every Screen    | 
+---------+-------------+---------------+-------------+--------------------+
| px      | Pixels      | Varies        | No          | No                 | 
+---------+-------------+---------------+-------------+--------------------+
| in      | Inches      | 1             | Yes         | Yes                | 
+---------+-------------+---------------+-------------+--------------------+
| mm      | Millimeters | 25.4          | Yes         | Yes                | 
+---------+-------------+---------------+-------------+--------------------+
| pt      | Points      | 72            | Yes         | Yes                | 
+---------+-------------+---------------+-------------+--------------------+
| dp      | Density     | ~160          | Yes         | No                 | 
|         | Independent |               |             |                    | 
|         | Pixels      |               |             |                    | 
+---------+-------------+---------------+-------------+--------------------+
| sp      | Scale       | ~160          | Yes         | No                 | 
|         | Independent |               |             |                    | 
|         | Pixels      |               |             |                    | 
+---------+-------------+---------------+-------------+--------------------+

Дополнительную информацию также можно найти в Документации по дизайну Google .

5652
ответ дан 22 November 2019 в 19:37
поделиться

Из документации разработчика Android:

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

в дюймах - в зависимости от физического размера экрана. 1 дюйм = 2,54 см

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

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

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

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

0
ответ дан karthikdhanajeyan 1 August 2019 в 04:30
поделиться

Android SP против DP

Во-первых, что они обозначают?

sp означает scale-independent пикселей.

dp or dip (просто используйте dp в своем коде, если вы крутой) означает независимые от плотности пиксели.

В чем разница между этими двумя?

Нет!

У них обоих есть 160 единиц на квадратный дюйм, они оба не зависят от плотности, и ни один не имеет одного размера на разных экранах.

Итак, когда вы должны использовать sp и когда вы должны использовать dp?

Использовать sp для размера текста … потому что, но масштабируется пользователем предпочтительный размер шрифта.

Используйте dp для всего остального.

1
ответ дан ORBIT 28 October 2019 в 20:16
поделиться