130

XMLで長方形を描くことができるのだろうか。プログラムでdrawRectメソッドを使用して描画する方法を知っています。

4

6 に答える 6

254

はい、できます。これは私が以前に作成したものです。

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

ドローアブルフォルダ内に新しいXMLファイルを作成し、上記のコードを追加して、rectangle.xmlとして保存できます。

レイアウト内で使用するには、android:background属性を新しい描画可能な形状に設定します。定義した形状には寸法がないため、レイアウトで定義されているビューの寸法を使用します。

それで、それをすべてまとめます:

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

ついに; この長方形を任意のビューの背景に設定できますが、ImageViewの場合はを使用しますandroid:src。これは、ListViews、TextViews...などの背景として長方形を使用できることを意味します。

于 2012-04-12T14:00:54.747 に答える
37

rectangle.xmlシェイプドローアブルを使用して作成このようにドローアブルフォルダに入れます...

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

これがお役に立てば幸いです。

于 2012-04-12T14:03:45.520 に答える
24

迅速で汚い方法:

<View
    android:id="@+id/colored_bar"
    android:layout_width="48dp"
    android:layout_height="3dp"
    android:background="@color/bar_red" />
于 2014-08-22T12:43:31.413 に答える
8

これを試して

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

出力

ここに画像の説明を入力してください

于 2016-07-21T06:25:31.087 に答える
2

このコードを使用する

<?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>
于 2017-07-10T08:39:43.927 に答える
0

ドローアブルでリソースファイルを作成する

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#3b5998" />
<cornersandroid:radius="15dp"/>

于 2019-10-03T07:50:23.770 に答える