在android布局中创建一条水平虚线

时间:2013-08-26 09:37:38

标签: android

在我的布局中我试图绘制一个DOTTED LINE.for绘制一条水平线我在我的布局文件中定义了一个视图。

     <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>

但是我没有使用这段代码。请帮帮我。

当我在listView Divider中使用customdots.xml作为

 android:divider="@drawable/customdots"

它显示了一条很好的虚线

2 个答案:

答案 0 :(得分:48)

我也在解决这个问题,直到我发现在最新版本的Android中出现这样的线条时出现了一个错误。

可以通过将 android:layerType =“software”添加到使用虚线作为背景的视图来规避此错误。

示例:

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" />

答案 1 :(得分:0)

您可以使用以下代码。它可能会帮助你。 在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,像这样的图像视图......

<?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>