Tôi tự hỏi liệu tôi có thể vẽ hình chữ nhật trong XML không. Tôi biết cách vẽ bằng phương pháp drawRect theo lập trình.
Tôi tự hỏi liệu tôi có thể vẽ hình chữ nhật trong XML không. Tôi biết cách vẽ bằng phương pháp drawRect theo lập trình.
Câu trả lời:
Có, bạn có thể và đây là một trong những tôi đã thực hiện trước đó:
<?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>
Bạn có thể tạo một tệp XML mới bên trong thư mục có thể vẽ và thêm đoạn mã trên, sau đó lưu nó dưới dạng hình chữ nhật.xml.
Để sử dụng nó bên trong một bố cục, bạn sẽ đặt android:background
thuộc tính thành hình dạng có thể vẽ mới. Hình dạng chúng tôi đã xác định không có bất kỳ kích thước nào và do đó sẽ lấy các kích thước của Chế độ xem được xác định trong bố cục.
Vì vậy, tổng hợp tất cả lại với nhau:
<View
android:id="@+id/myRectangleView"
android:layout_width="200dp"
android:layout_height="50dp"
android:background="@drawable/rectangle"/>
Cuối cùng; bạn có thể đặt hình chữ nhật này làm nền của bất kỳ Chế độ xem nào, mặc dù đối với ImageView bạn sẽ sử dụng android:src
. Điều này có nghĩa là bạn có thể sử dụng hình chữ nhật làm nền cho ListViews, TextViews ... vv.
Tạo rectangle.xml
bằng cách sử dụng Hình dạng có thể vẽ Như thế này được đưa vào Thư mục Có thể vẽ của bạn ...
<?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>
đặt nó vào một ImageView
<ImageView
android:id="@+id/rectimage"
android:layout_height="150dp"
android:layout_width="150dp"
android:src="@drawable/rectangle">
</ImageView>
Hy vọng điều này sẽ giúp bạn.
thử cái này
<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>
đầu ra
Sử dụng mã này
<?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>
tạo tệp tài nguyên có thể vẽ được
<?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"/>