एंड्रॉइड में वेक्टर ड्रॉएबल से स्टार (तारा) आकार बनाना
यह ट्यूटोरियल दिखाता है कि 5-बिंदु वाला स्टार आकार वेक्टर XML में कैसे बनाएं - रेटिंग, पसंदीदा, उपलब्धि के लिए उपयोगी।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में File → New Project चुनें।
चरण 2: लेआउट (res/layout/activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:layout_marginTop="30dp"
tools:context=".MainActivity">
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/background" />
</LinearLayout>
चरण 3: वेक्टर ड्रॉएबल (drawable/background.xml)
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="https://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFD700"
android:pathData="M12,2 L15.09,8.26 L22,9.27 L17,14.14 L18.18,21 L12,17.77 L5.82,21 L7,14.14 L2,9.27 L8.91,8.26 Z" />
</vector>
पाथ डेटा विश्लेषण
यह 10-बिंदु पाथ एक 5-बिंदु स्टार बनाता है:
- बिंदु 1: (12,2) - शीर्ष
- बिंदु 2-3: ऊपरी दाएं आंतरिक/बाहरी
- बिंदु 4-5: निचले दाएं बाहरी/आंतरिक
- बिंदु 6: नीचे केंद्र आंतरिक
- बिंदु 7-10: बाएं पक्ष सममित
विभिन्न स्टार शैलियाँ
<!-- केवल आउटलाइन स्टार -->
<path
android:fillColor="@android:color/transparent"
android:strokeColor="#FFD700"
android:strokeWidth="2"
android:pathData="M12,2 L15.09,8.26 L22,9.27 L17,14.14 L18.18,21 L12,17.77 L5.82,21 L7,14.14 L2,9.27 L8.91,8.26 Z" />
<!-- 6-बिंदु स्टार (डेविड स्टार) -->
<path android:fillColor="#0066CC" android:pathData="M12,2 L13.5,8 L20,8 L15,12 L16.5,18 L12,15 L7.5,18 L9,12 L4,8 L10.5,8 Z" />
<!-- 4-बिंदु स्टार (कम्पास) -->
<path android:fillColor="#FF0000" android:pathData="M12,2 L13,8 L19,9 L14,13 L15,19 L12,16 L9,19 L10,13 L5,9 L11,8 Z" />
ग्रेडिएंट स्टार
<vector ...>
<path android:pathData="M12,2 L15.09,8.26 L22,9.27 L17,14.14 L18.18,21 L12,17.77 L5.82,21 L7,14.14 L2,9.27 L8.91,8.26 Z">
<aapt:attr name="android:fillColor">
<gradient
android:type="radial"
android:centerX="12" android:centerY="12"
android:gradientRadius="12"
android:startColor="#FFFF00"
android:endColor="#FF8C00" />
</aapt:attr>
</path>
</vector>
एनिमेटेड स्टार (AnimatedVectorDrawable)
<!-- res/drawable/star_animated.xml -->
<animated-vector xmlns:android="...">
<aapt:attr name="android:drawable">@drawable/star</aapt:attr>
<target android:name="star_path">
<aapt:attr name="android:animation">
<objectAnimator
android:propertyName="scaleX"
android:duration="500"
android:valueFrom="1.0" android:valueTo="1.2"
android:repeatCount="infinite"
android:repeatMode="reverse" />
</aapt:attr>
</target>
</animated-vector>
ऐप टेस्ट करें
चलाएं - सुनहरा 5-बिंदु स्टार 100x100dp में केंद्रित दिखेगा।