Tôi muốn tạo hình lục giác cho dự án của mình vì vậy tôi muốn tạo hình dạng đó ở định dạng .xml để tôi có thể tạo ra như thế nào.Cách tạo hình lục giác theo định dạng .xml
Trả lời
Giải pháp tốt nhất cho bạn sẽ được sử dụng VectorDrawable:
lục giác hình như vector 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>
Cập nhật (28: 07.2016):
Để hỗ trợ API bên dưới thư viện hỗ trợ sử dụng Lollipop http://android-developers.blogspot.com/2016/02/android-support-library-232.html hãy nhớ sử dụng VectorDrawableCompat thay vì VectorDrawable
Bạn có thể sử dụng VectorDrawable (VectorDrawableCompat cho phiên bản cũ) https://developer.android.com/studio/write/vector-asset-studio.html. Bạn có thể easialy nhập hình dạng từ các tập tin .svg.
Mặc dù hầu hết các giải pháp bao gồm cả ShapeImageView (thư viện lớn, btw), bạn luôn có thể viết logic của riêng mình để tạo bố cục hình lục giác tùy chỉnh.
Tất cả những gì bạn cần làm là xác định các thuộc tính của đối tượng Path
và sau đó sử dụng đối tượng đó trong phương thức onDraw() của bố cục bằng Canvas.
Đây là cách bạn sẽ tạo đường dẫn hình lục giác.
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;
Bây giờ, trong bố cục hình lục giác tùy chỉnh của bạn, hãy sử dụng đường dẫn này trong 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)
}
Khi bố cục tùy chỉnh sẵn sàng, bạn có thể đặt nền của bố cục thành bất kỳ hình vẽ nào bạn muốn (giống như cách bạn làm cho bất kỳ bố cục nào khác).
- 1. Tạo mạng lưới các hình lục giác
- 2. Lưới hình lục giác Android
- 3. Android: Tạo một nút với hình dạng tam giác sử dụng định nghĩa xml (drawable)
- 4. Tạo hình lục giác trong CSS, đối xứng
- 5. Tạo tọa độ tam giác/lục giác (xyz)
- 6. điền vòng tròn với hình lục giác
- 7. Làm cách nào để tạo lưới lục giác trong R
- 8. Lưới hình lục giác trên hình cầu không có hình ngũ giác
- 9. Phát hiện các hình lục giác theo hình ảnh thang độ xám hoặc hình ảnh nhị phân
- 10. tạo thiết kế hình lục giác tự động sử dụng css và js
- 11. Tạo XML được định dạng trong Scala
- 12. Vẽ đa giác trong XML với Android
- 13. Chỉ định màu theo cách thủ công với scale_fill_manual chỉ hoạt động đối với một số kích thước hình lục giác nhất định
- 14. Tìm các láng giềng lân cận trên lưới lục giác
- 15. Android GDX Box2D Hình dạng tam giác
- 16. Nhận định dạng tháng theo định dạng mm trong javascript
- 17. Lấy hình tam giác trong hình tam giác dưới
- 18. Làm cách nào để vẽ/quản lý lưới hình lục giác?
- 19. Tạo lại hình dạng nút hình tam giác đã kết thúc trong CSS3
- 20. Cách tạo đầu ra Stream.Write() theo định dạng UTF-8
- 21. Vùng chứa tùy chỉnh Android (lục giác) withe adapter
- 22. Có thể tạo ra hình dạng đơn giản này trong Android XML không?
- 23. Tách hình lục giác phù hợp nhất của các khu vực bất thường
- 24. Ca cao - Cách định dạng tập tin XML
- 25. Thụt lề ngay cả các hàng hình lục giác trong CSS
- 26. Làm thế nào để cấu hình định dạng XML Eclipse?
- 27. Cách tạo hình dạng Chevron tròn
- 28. Tạo hình tam giác trong UIButton
- 29. Tệp cấu hình không được định dạng đúng XML # 2
- 30. Tạo hình tròn CAShapeLayer thành hình tam giác góc tròn
Bạn muốn sử dụng trong nền 'Xem hình ảnh '? hoặc bất kỳ mục đích nào khác. –
có, tôi muốn sử dụng trong nền ImageView. vì vậy tôi muốn hình dạng này ở định dạng .xml – suraj
http://stackoverflow.com/a/22987264/1992254 – Tejas