【问题标题】:Draw a small square inside listView在 listView 内画一个小方块
【发布时间】:2016-05-08 11:10:29
【问题描述】:

我想知道如何在listView 内绘制一个带有图标的小方块,如下图所示

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="6dip">

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/textView3"
        android:text="   Description   :  " />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView2"
        android:layout_below="@+id/Project"
        android:text="   Progress       :  " />


    <TextView
        android:id="@+id/Project"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:paddingLeft="10dp"
        android:textColor="@color/black"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:text="   Project  " />

    <TextView
        android:id="@+id/Description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView2"
        android:layout_alignBottom="@+id/textView2"
        android:layout_toRightOf="@+id/textView2"
        android:singleLine="true"
        android:ellipsize="end"
        android:text="TextView" />

    <TextView
        android:id="@+id/Percentage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView3"
        android:layout_alignBottom="@+id/textView3"
        android:layout_toRightOf="@+id/textView3"
        android:text="TextView" />

    <LinearLayout
        android:id="@+id/container"
        android:layout_alignParentRight="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/in"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@+id/line"
            android:text="TimeIn" />

        <LinearLayout
            android:id="@+id/line"
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:layout_marginLeft="4dp"
            android:layout_marginRight="4dp"
            android:layout_toLeftOf="@+id/out"
            android:background="@android:color/black"
            android:orientation="horizontal">


        </LinearLayout>

        <TextView
            android:id="@+id/out"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:text="TimeOut" />

    </LinearLayout>


</RelativeLayout>

如何画一个小方块并添加到项目下面(id 是项目)?

任何建议或帮助将不胜感激。

【问题讨论】:

    标签: android xml listview layout


    【解决方案1】:

    首先,您需要在 drawable 文件夹中的 res 目录中为该圆角正方形创建一个 Shape drawable,例如 rectangle_shape.xml

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <stroke
            android:width="1dp"
            android:color="@color/colorAccent"/>
    
        <corners android:radius="2dp"/>
    
    </shape>
    

    现在您只需在您的ListView 行xml 中创建一个TextView 并将此Shape drawable 分配给您的TextView。您也可以为您的TextView 指定drawableRight 以在文本右侧显示该图标。

          <TextView 
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:background="@drawable/rectangular_shape"
              android:drawablePadding="8dp"
              android:drawableRight="@drawable/ic_your_icon"
              android:gravity="center"
              android:orientation="vertical"
              android:padding="8dp"
              android:text="dummy text"/>
    

    希望这对你有用..!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      • 1970-01-01
      相关资源
      最近更新 更多