2013-08-26 13 views
7

में एक क्षैतिज बिंदीदार रेखा बनाएं मेरे लेआउट में मैं एक डॉटेड लाइन खींचने की कोशिश कर रहा हूं। एक क्षैतिज रेखा खींचने के लिए मैं अपनी लेआउट फ़ाइल में एक दृश्य परिभाषित कर रहा हूं।एंड्रॉइड लेआउट

 <View 
     android:layout_width="fill_parent" 
     android:layout_height="1dip" 
     android:background="@drawable/customdots" /> 

और customdots.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item 
    android:left="10dp" 
    android:right="10dp" 
    android:width="4dp" 
    android:drawable="@drawable/dotted" /> 

</layer-list> 

dotted.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="line" > 

    <size 
    android:height="4dp" 
    android:width="1024dp"/> 
    <stroke 
    android:width="4dp" 
    android:dashWidth="4dp" 
    android:color="@android:color/black" 
    android:dashGap="5dp"/> 

</shape> 

लेकिन मैं इस कोड का उपयोग किसी भी लाइन नहीं मिलता है। कृपया मेरी मदद करें।

जब मैं के रूप में

android:divider="@drawable/customdots" 

यह एक अच्छा बिंदीदार रेखा

+0

एंड्रॉयड: छोड़ दिया = "10dp" एंड्रॉयड: सही = "10dp" एंड्रॉयड : चौड़ाई = "4 डीपी" क्या यह समझ में आता है? – pskink

+0

@pskink यह आपकी राय में क्या होना चाहिए। – test

+0

केवल बाएं और दाएं? – pskink

उत्तर

0

आप कोड निम्न का उपयोग कर सकते चलता ListView डिवाइडर में customdots.xml का उपयोग करें। यह आपकी मदद कर सकता है। इस तरह drawable फ़ोल्डर में एक dotted.xml बनाएं ...

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="line" > 
     <stroke 
     android:color="#A52A2A" 
     android:dashWidth="10px" 
     android:dashGap="10px" /> 

</shape> 

तो इस तरह की छवि को देखने के साथ अपने लेआउट में इस एक्सएमएल का उपयोग ....

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="This is above line of code " /> 
    <ImageView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="3dp" 
    android:layout_marginBottom="3dp" 
    android:src="@drawable/dottede" /> 
    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="this is below code " /> 
</LinearLayout> 
+1

मुझे अभी भी एक दृश्यमान रेखा नहीं मिल रही है। यह कोई छवि के साथ एक छवि दृश्य दिखाता है। मेरे उपरोक्त कोड के साथ वही बात। – test

+0

यहां वही। शायद यह एंड्रॉइड के पुराने संस्करण पर काम करता है? –

+0

@SAURABH आप दृश्य के बजाय divider के लिए ImageView का उपयोग क्यों कर रहे हैं? –

45

मैं पर मेरे बाल खींच रहा था यह मुद्दा तब तक जब तक मुझे पता चला कि एंड्रॉइड के नवीनतम संस्करणों में इस तरह की रेखाएं प्रस्तुत करते समय एक बग है।

इस बग को एंड्रॉइड: लेयरटाइप = "सॉफ़्टवेयर" जोड़कर अवरुद्ध किया जा सकता है जो पृष्ठभूमि के रूप में बिंदीदार रेखा का उपयोग कर रहा है।

उदाहरण:

dotted.xml:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="line"> 

<stroke 
    android:dashGap="3dp" 
    android:dashWidth="8dp" 
    android:height="2px" 
    android:color="#FFFFFF" /> 

</shape> 

layout.xml:

<View 
     android:id="@+id/vDottedLine" 
     android:background="@drawable/dotted" 
     android:layout_width="match_parent" 
     android:layout_height="2px" 
     android:layerType="software" /> 
+0

धन्यवाद .. यह मेरा समय बचाया ... – BSKANIA

+0

जीनियस, धन्यवाद। – Lara

+2

ndroid: layerType = "software" कुंजी –

संबंधित मुद्दे