RepositoryJavaFRFrance
FL

florent37/ShapeOfView

Give a custom shape to any android view, Material Design 2 ready

3.2kstars
401forks
50issues
1views

Thành tựu nổi bật

Những danh hiệu mới nhất của dự án

1
TINIX TRENDING·Chủ đề: shape

#1 Repository Của Tuần

1
TINIX TRENDING·Chủ đề: view

#1 Repository Của Tuần

1
TINIX TRENDING·Chủ đề: androidx

#1 Repository Của Tuần

🔷 ShapeOfView — Tùy chỉnh hình dạng view trên Android chỉ với XML

Cho mọi Android view một hình dạng mới — không cần viết code tùy vẽ.

ShapeOfView là thư viện Java cho Android giúp thay đổi hình dạng hiển thị của bất kỳ view nào mà không cần tự xử lý canvas hay bitmap. Dự án hướng đến việc đơn giản hóa việc triển khai Material Design 2 với các shape pre-built như Circle, RoundRect, CutCorner, Arc, Diagonal, Triangle, Bubble và Star.

✨ Điểm nổi bật

  • Nhiều shape có sẵn: Circle, RoundRect, CutCorner, Arc, Diagonal, Triangle, Bubble, Star — phủ hầu hết các dạng hình thường dùng trong Material Design.
  • Cấu hình qua XML: Mỗi shape có các thuộc tính tùy chỉnh riêng (bán kính góc, hướng, kích thước mũi tên, phần trăm...) ngay trong layout file.
  • Hỗ trợ border & elevation: Tùy chỉnh màu và độ dày viền, đồng thời hỗ trợ elevation cho bóng đổ.
  • Bất kỳ view nào: ShapeOfView vô hiệu hóa background của view cha, thay vào đó dùng child view có background để hiển thị nội dung bên trong.
  • Material Design 2 ready: Phù hợp để xây dựng giao diện theo chuẩn Material Design mới nhất.
  • Dependency đơn giản: Tích hợp qua Maven Central với một dòng implementation.

💡 Vì sao đáng chú ý

Thay vì phải tự viết Path, Canvas, PorterDuffXfermode để cắt góc, vẽ arc hay tạo hình tam giác, ShapeOfView đóng gói tất cả thành các view con dễ dùng, cấu hình hoàn toàn bằng XML thuộc tính. Điều này giúp giảm đáng kể lượng code layout và xử lý đồ họa tùy chỉnh trong project Android.

Thư viện đặc biệt hữu ích khi cần tạo các component có hình dạng không chữ nhật như card bo góc cắt (cut corner), vùng chứa dạng cung (arc), hay bubble chat với mũi tên chỉ hướng — những trường hợp mà việc dùng ShapeDrawable hay tùy chỉnh trên Canvas sẽ tốn nhiều công sức hơn.


#Android #CustomView #MaterialDesign #ShapeOfView #TiniX

Similar Projects

Discover other similar projects and AI models.

RepositoryJava
florent37/ExpansionPanel

Android - Expansion panels contain creation flows and allow lightweight editing of an element.

1.9k
Jul 2, 2020
Repository
google/material-design-icons

Material Design icons by Google (Material Symbols)

54.2k
Oct 23, 2026
RepositoryDart
flutter/flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond

180.4k
Oct 26, 2026
RepositoryJava
JavaNoober/BackgroundLibrary

A framework for directly generating shape through Tags, no need to write shape.xml again(通过标签直接生成shape,无需再写shape.xml)

3.9k
Aug 15, 2026
RepositoryJava
iammert/ScalingLayout

With Scaling Layout scale your layout on user interaction.

3.3k
May 28, 2023
RepositoryJava
florent37/ArcLayout

With Arc Layout explore new styles and approaches on material design

1.6k
Dec 21, 2020
RepositoryJava
florent37/ViewTooltip

A fluent tooltip for Android

1.1k
Jul 2, 2020
RepositorySwift
roberthein/BouncyLayout

Make. It. Bounce.

4.2k
Jul 14, 2020
RepositorySwift
freshOS/Stevia

:leaves: Concise Autolayout code

3.4k
Sep 21, 2025