आप एक रोटेट टैग के अंदर अपना आकार घोंसला कर सकते हैं।
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="90"
android:toDegrees="90">
<shape
android:shape="line">
<stroke
android:width="1dp"
android:color="#ff00ff"
android:dashWidth="1dp"
android:dashGap="2dp" />
</shape>
</rotate>
हालाँकि, एकमात्र समस्या यह है कि आपके लेआउट xml में परिभाषित लेआउट परम मूल आकार को खींचने के लिए उपयोग किए जाने वाले आयाम होंगे। मतलब अगर आप चाहते हैं कि आपकी लाइन 30dp लंबी हो, तो आपको अपने लेआउट xml में 30dp के एक लेआउट_ एक्सपोज़र को परिभाषित करने की आवश्यकता है। लेकिन अंतिम चौड़ाई उस मामले में भी 30dp होगी, जो ज्यादातर स्थितियों के लिए अवांछनीय है। इसका अनिवार्य रूप से मतलब है कि चौड़ाई और ऊंचाई दोनों का एक ही मूल्य होना चाहिए, लाइन के लिए आपकी वांछित लंबाई का मूल्य। मैं यह पता नहीं लगा सका कि इसे कैसे ठीक किया जाए।
यह "एंड्रॉइड तरीका" समाधान प्रतीत होता है, लेकिन जब तक मेरे द्वारा उल्लिखित आयामों के लिए कुछ ठीक या समाधान नहीं होता है, तब तक यह संभावना अधिकांश लोगों के लिए काम नहीं करेगी। वास्तव में हमें जो आवश्यकता है वह है <अभिविन्यास /> या <स्ट्रोक /> में एक अभिविन्यास विशेषता।
आप रोटेट टैग की विशेषताओं में एक और ड्रा करने योग्य संदर्भित करने का प्रयास कर सकते हैं, जैसे:
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="90"
android:toDegrees="90"
android:drawable="@drawable/horizontal_line" />
हालाँकि, मैंने इसका परीक्षण नहीं किया है और उम्मीद है कि इसमें समान मुद्दे होंगे।
- संपादित करें -
ओह, मैं वास्तव में एक तय कर लिया। अनिर्दिष्ट अतिरिक्त स्थान से छुटकारा पाने के लिए आप अपने लेआउट xml में एक नकारात्मक मार्जिन का उपयोग कर सकते हैं। जैसे कि:
<ImageView
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginLeft="-15dp"
android:layout_marginRight="-15dp"
android:src="@drawable/dashed_vertical_line" />