Я хочу создать форму шестиугольника для моего проекта, поэтому я хочу создать эту форму в формате .xml, чтобы как создать.Как создать форму шестиугольника в формате .xml
ответ
Лучшее решение для вас будет использовать VectorDrawable:
шестигранной формы как вектор Drawable:
<vector android:height="24dp" android:viewportHeight="628.0"
android:viewportWidth="726.0" android:width="27dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#00ffffff"
android:pathData="m723,314c-60,103.9 -120,207.8 -180,311.8 -120,0 -240,0 -360,0C123,521.8 63,417.9 3,314 63,210.1 123,106.2 183,2.2c120,0 240,0 360,0C603,106.2 663,210.1 723,314Z"
android:strokeColor="#000000" android:strokeWidth="4"/>
</vector>
Update (28: 07.2016):
Для поддержки API ниже Lollipop библиотеки использование поддержки http://android-developers.blogspot.com/2016/02/android-support-library-232.html не использовать VectorDrawableCompat вместо VectorDrawable
Вы можете использовать VectorDrawable (VectorDrawableCompat для старой версии) https://developer.android.com/studio/write/vector-asset-studio.html. Вы можете легко импортировать форму из .svg-файлов.
Хотя большинство решений будет включать в себя в том числе ShapeImageView (что большая библиотека, кстати), вы всегда можете написать собственную логику для создания пользовательского шестиугольник формы макета.
Все, что вам нужно сделать, это определить свойства объекта Path
, а затем использовать его в методе OnDraw() макета с использованием Canvas.
Так вы можете создать путь шестиугольника.
float midx = getWidth()/2;
float midy = getHeight()/2;
Path p = new Path();
p.moveTo(midx, midy);
p.lineTo(midx+150, midy + 220);
p.lineTo(midx, midy + 220);
p.lineTo(midx-150, midy + 220);
p.lineTo(midx-300, midy);
p.lineTo(midx-150, midy-220);
p.lineTo(midx+150, midy-220);
p.lineTo(midx+300, midy);
p.lineTo(midx+150, midy + 220);
return p;
Теперь, в пользовательской макете шестиугольника, используйте этот путь в onDraw().
@Override
protected void onDraw(Canvas canvas) {
Path clipPath = new Path();
clipPath.addPath(p); //p is the path you created above
canvas.clipPath(clipPath);
canvas.drawColor(Color.RED); //optional
super.onDraw(canvas)
}
После того, как у вас есть пользовательский макет готов, вы можете установить фон макета в любой Drawable вы хотите (так же, как вы могли бы сделать для любых других макетов).
- 1. Создать форму шестиугольника ImageView в iOS
- 2. Как создать форму из XML в Laravel
- 3. Создать HTML-форму из XML
- 4. матричный многоугольник шестиугольника?
- 5. Как я могу создать форму шестиугольника с прямоугольником в фоновом режиме?
- 6. Изображение шестиугольника формы
- 7. Как создать веб-форму, которая выводит xml?
- 8. создать форму с XML в joomla2.5
- 9. Рисование шестиугольника в vb.net
- 10. Как создать динамическую форму?
- 11. Как получить диагонали шестиугольника?
- 12. Как создать форму velodrome?
- 13. фон в переполнении шестиугольника
- 14. Площадь шестиугольника
- 15. Кнопка формы шестиугольника Android с шестиугольными касаниями
- 16. Corona Вершины шестиугольника
- 17. Как сделать шестиугольную форму в андроиде?
- 18. Сделать форму шестиугольника с границей, закругленными углами и прозрачный фоном
- 19. Как создать индекс lucene только в одном читаемом формате xml
- 20. Как легко создать массив строк в xml формате?
- 21. Как создать XSLT для форматирования экспортированного xml в формате таблицы?
- 22. Как создать защищенный API с использованием PHP в XML-формате?
- 23. Как создать таблицу из файла XML, хранящегося в формате BLOB?
- 24. Текст в углах шестиугольника
- 25. создать веб-форму из XSD, а затем вывести форму xml
- 26. Создание XML как ниже формате
- 27. Как создать динамическую форму в C# на основе XML
- 28. Как создать случайные позиции с расстоянием между ними внутри шестиугольника?
- 29. Создание трехмерной карты шестиугольника
- 30. Создание шестиугольника в CSS, симметрия
Хотите, чтобы вы использовали на фоне «Image View»? или любой другой цели. –
Да, я хочу использовать фон ImageView. поэтому я хочу эту форму в формате .xml – suraj
http://stackoverflow.com/a/22987264/1992254 – Tejas