shape drawable
पर stroke
के आंशिक ओवरलैपिंग को रोकने का कोई तरीका है। मैं पूरी तरह से आकार की सीमाओं पर स्ट्रोक को ओवरलैप करना पसंद करता हूं।आकार खींचने योग्य स्ट्रोक के आंशिक ओवरलैपिंग को रोकें
यहाँ मेरी एक्सएमएल
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<padding
android:bottom="0dp"
android:top="0dp"
android:left="0dp"
android:right="0dp" />
<solid android:color="@color/green" />
<stroke android:color="@color/red_50"
android:width="20dp"
android:dashGap="2dp"
android:dashWidth="10dp" />
</shape>
colors.xml
<color name="green">#0f0</color>
<color name="red_50">#8f00</color>
आप देख सकते हैं कि स्ट्रोक अतिव्यापी है 50% तक ठोस हिस्सा लेकिन मैं चाहता हूं कि यह 100% हो। आयत के लिए स्ट्रोक और एक के लिए एक -
यदि बी भरे आयताकार शून्य का पैडिंग नहीं है? चूंकि इसके लिए समायोजन करने के लिए कोई स्ट्रोक नहीं है। –
@EugenPechanec यदि कोई ऑफसेट नहीं है तो हमें परिणाम में दिखाया गया परिणाम मिलता है - हरा आयत स्ट्रोक की चौड़ाई_ के आधे से शुरू होता है। यही कारण है कि हमें इस मूल्य से अपनी सीमाएं बढ़ाना है ('_padding_' घटाकर)। –
लेकिन आपकी पोस्ट का पूरा बिंदु यह है कि हरा आयताकार * कोई स्ट्रोक नहीं है * इसलिए यह पूरे उपलब्ध क्षेत्र को भरता है इसलिए नकारात्मक ऑफसेट की आवश्यकता नहीं है, है ना? (यानी यदि आपको 20 डीपी चौड़े स्ट्रोक के लिए 20 डीपी तक हरे आयत को ऑफसेट करने की आवश्यकता है, तो आपको स्ट्रोक के नीचे हरे रंग को आकर्षित करने के लिए 20-20 = 0 डीपी ऑफसेट की आवश्यकता है।) –