我可以用XML绘制矩形吗?

use*_*568 111 xml android draw

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

Gra*_*ith 211

是的,你可以,这是我之前制作的:

<?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>
Run Code Online (Sandbox Code Playgroud)

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

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

所以把它们放在一起:

<View
    android:id="@+id/myRectangleView"
    android:layout_width="200dp"
    android:layout_height="50dp"
    android:background="@drawable/rectangle"/>
Run Code Online (Sandbox Code Playgroud)

最后; 您可以将此矩形设置为任何视图的背景,但对于您将使用的ImageView android:src.这意味着您可以使用矩形作为ListViews,TextViews等的背景.


N.D*_*oid 33

rectangle.xml使用Shape Drawable 创建像这样放入Drawable文件夹......

<?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>
Run Code Online (Sandbox Code Playgroud)

把它放进去 ImageView

<ImageView 
android:id="@+id/rectimage" 
android:layout_height="150dp" 
android:layout_width="150dp" 
android:src="@drawable/rectangle">
</ImageView>
Run Code Online (Sandbox Code Playgroud)

希望这会帮助你.


Pim*_*oso 18

快速而肮脏的方式:

<View
    android:id="@+id/colored_bar"
    android:layout_width="48dp"
    android:layout_height="3dp"
    android:background="@color/bar_red" />
Run Code Online (Sandbox Code Playgroud)


A.G*_*AYS 7

试试这个

                <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>
Run Code Online (Sandbox Code Playgroud)

产量

在此输入图像描述