Android
Векторные иллюстрации
Поиск…
Вступление
параметры
параметр | подробности |
---|---|
<vector> | Используется для определения векторного вектора |
<group> | Определяет группу путей или подгрупп, а также информацию о преобразовании. Преобразования определяются в тех же координатах, что и окно просмотра. И преобразования применяются в порядке масштаба, затем вращаются, а затем переводятся. |
<path> | Определяет пути для рисования. |
<clip-path> | Определяет путь к текущему клипу. Обратите внимание, что путь клипа применяется только к текущей группе и ее дочерним элементам. |
замечания
Обновите файл build.gradle .
dependencies {
...
compile 'com.android.support:appcompat-v7:23.2.1'
}
Если вы используете v2.0 или выше плагина Gradle , добавьте следующий код.
// Gradle Plugin 2.0+
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
Если вы используете v1.5 или ниже плагина Gradle , добавьте следующий код.
// Gradle Plugin 1.5
android {
defaultConfig {
generatedDensities = []
}
// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
Подробнее читайте в разделе «Информация о поддержке Android 23.2» .
ПРИМЕЧАНИЕ. Даже с AppCompat векторные Drawables не будут работать вне вашего приложения в старых версиях Android. Например, вы не можете передавать векторные чертежи в качестве значков уведомлений, поскольку они обрабатываются системой, а не приложением. См. Этот ответ для обходного пути.
Пример использования VectorDrawable
Вот пример векторного актива, который мы фактически используем в AppCompat:
Рез / рисуем / ic_search.xml
<vector xmlns:android="..."
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
android:tint="?attr/colorControlNormal">
<path
android:pathData="..."
android:fillColor="@android:color/white"/>
</vector>
С помощью этого чертежа пример объявления ImageView
будет выглядеть следующим образом:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_search"/>
Вы также можете установить его во время выполнения:
ImageView iv = (ImageView) findViewById(...);
iv.setImageResource(R.drawable.ic_search);
Тот же атрибут и вызовы также работают для ImageButton
.
Пример VectorDrawable xml
Вот простой VectorDrawable
в этом файле vectordrawable.xml .
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="64dp"
android:width="64dp"
android:viewportHeight="600"
android:viewportWidth="600" >
<group
android:name="rotationGroup"
android:pivotX="300.0"
android:pivotY="300.0"
android:rotation="45.0" >
<path
android:name="v"
android:fillColor="#000000"
android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" />
</group>
</vector>
Импорт SVG-файла в формате VectorDrawable
Вы можете импортировать SVG- файл в качестве VectorDrawable
в Android Studio, выполните следующие действия:
«Щелкните правой кнопкой мыши» в папке res
и выберите новый > Векторный объект .
Выберите параметр « Локальный файл» и перейдите к вашему .svg-файлу. Измените параметры по своему вкусу и нажмите «Далее». Готово.