Как изменить размер нарисованного вектора до размера шрифта устройства - PullRequest
0 голосов
/ 01 февраля 2019

Можно ли задать вектор для рисования, чтобы автоматически изменять его размер в зависимости от размера шрифта, установленного на устройстве?Всякий раз, когда я изменяю размер шрифта в меню «Настройки», вектор рисования никогда не адаптируется к его размеру и всегда остается неизменным, но текст работает без ошибок.

Рисуемое

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="48dp" android:width="48dp" android:viewportHeight="24" android:viewportWidth="24">
    <path android:fillColor="#FFFFFF" android:pathData="M7.41,7.84L12,12.42l4.59,-4.58L18,9.25l-6,6 -6,-6z"/>
</vector>

Маленький размер шрифта

enter image description here

Нормальный размер шрифта

enter image description here

Большой размер шрифта

enter image description here

Огромный шрифтразмер

enter image description here

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019
  • В качестве предыдущего ответа используйте sp вместо dp ,,
  • sp, более подходящим для текста
  • dp, более подходящим для картинок
0 голосов
/ 01 февраля 2019

Вы можете использовать sp единиц в определении вектора для рисования.Весь смысл sp в том, что 1sp == 1dp, когда размер шрифта нормальный, но 1sp больше 1dp, когда размер шрифта увеличен.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<vector
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:height="48sp" <!-- use sp here instead of dp -->
    android:width="48sp"  <!-- use sp here instead of dp -->
    android:viewportHeight="24"
    android:viewportWidth="24">

    <path
        android:fillColor="#FFFFFF"
        android:pathData="M7.41,7.84L12,12.42l4.59,-4.58L18,9.25l-6,6 -6,-6z"/>

</vector>
...