我可以在XML中绘制矩形吗?

我想知道是否可以在XML中绘制矩形。 我知道如何以编程方式使用drawRect方法。

是的,你可以,这是我之前做的一个:

<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/listview_background_shape"> <stroke android:width="2dp" android:color="#ff207d94" /> <padding android:left="2dp" android:top="2dp" android:right="2dp" android:bottom="2dp" /> <corners android:radius="5dp" /> <solid android:color="#ffffffff" /> </shape> 

您可以在drawable文件夹中创build一个新的XML文件,并添加上面的代码,然后将其保存为rectangle.xml。

要在布局中使用它,可以将android:background属性设置为新的可绘制形状。 我们定义的形状没有任何尺寸,因此将采用布局中定义的视图的尺寸。

所以把它们放在一起:

 <View android:id="@+id/myRectangleView" android:layout_width="200dp" android:layout_height="50dp" android:background="@drawable/rectangle"/> 

最后; 你可以设置这个矩形作为任何视图的背景,尽pipe对于ImageView你可以使用android:src 。 这意味着你可以使用矩形作为ListViews,TextViews等的背景。

使用Shape Drawable创buildrectangle.xml像这样放入您的Drawable Folder …

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@android:color/transparent"/> <corners android:radius="12px"/> <stroke android:width="2dip" android:color="#000000"/> </shape> 

把它放到一个ImageView

 <ImageView android:id="@+id/rectimage" android:layout_height="150dp" android:layout_width="150dp" android:src="@drawable/rectangle"> </ImageView> 

希望这会帮助你。

快速和肮脏的方式:

 <View android:id="@+id/colored_bar" android:layout_width="48dp" android:layout_height="3dp" android:background="@color/bar_red" /> 

尝试这个

  <TableRow android:layout_width="match_parent" android:layout_marginTop="5dp" android:layout_height="wrap_content"> <View android:layout_width="15dp" android:layout_height="15dp" android:background="#3fe1fa" /> <TextView android:textSize="12dp" android:paddingLeft="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="1700 Market Street" android:id="@+id/textView8" /> </TableRow> 

产量

在这里输入图像描述

使用这个代码

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <corners android:bottomLeftRadius="5dp" android:bottomRightRadius="5dp" android:radius="0.1dp" android:topLeftRadius="5dp" android:topRightRadius="5dp" /> <solid android:color="#Efffff" /> <stroke android:width="2dp" android:color="#25aaff" /> </shape>