làm cách nào để tạo hình dạng hình thang như hình dưới đây?làm thế nào để xây dựng một hình dạng hình thang trong Android?
Tôi không muốn sử dụng hình ảnh hoặc 9.png.
làm cách nào để tạo hình dạng hình thang như hình dưới đây?làm thế nào để xây dựng một hình dạng hình thang trong Android?
Tôi không muốn sử dụng hình ảnh hoặc 9.png.
Hãy thử điều này:
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="292dp"
android:height="172dp"
android:viewportWidth="292"
android:viewportHeight="172">
<path
android:strokeWidth="1.5"
android:strokeMiterLimit="10"
android:pathData="M 27.046 96.615 L 16.416 150.396 L 271.534 150.396 L 186.495 22.836 L 37.676 22.836 L 27.046 86.615 Z" />
<path
android:fillColor="#00ff00"
android:strokeWidth="1.5"
android:strokeMiterLimit="10"
android:pathData="M 16.046 20.615 L 13.416 150.396 L 271.534 150.396 L 186.495 22.836 L 37.676 22.836 L 16.046 23.615 Z " />
</vector>
Tôi đề xuất câu trả lời này. Xem câu trả lời của tôi [ở đây] (http://stackoverflow.com/a/42145439/7292819) cho các liên kết đến tài liệu và một ví dụ mà sẽ cung cấp cho một ý tưởng nhiều hơn về cách sử dụng này. – Gary99
Xin lỗi vì câu hỏi của tôi nhưng tại sao bạn lại sử dụng
Bạn có thể thử bằng cách tạo một LayerDrawable
bằng mã hoặc xml. Thực hiện một hình chữ nhật và một hình tam giác Kiểm tra các trang web của nhà phát triển để biết thêm thông tin: http://developer.android.com/reference/android/graphics/drawable/LayerDrawable.html
Lớp này là một View
định nghĩa và vẽ một hình thang ShapeDrawable
. Do đó hình thang, là một Drawable
, cũng có thể được sử dụng trong nền.
package com.stackoverflow.questions.q25768037;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.drawable.ShapeDrawable;
import android.graphics.drawable.shapes.PathShape;
import android.util.AttributeSet;
import android.view.View;
public class TrapezoidView extends View {
private ShapeDrawable mTrapezoid;
public TrapezoidView(Context context, AttributeSet attrs) {
super(context, attrs);
Path path = new Path();
path.moveTo(0.0f, 0.0f);
path.lineTo(100.0f, 0.0f);
path.lineTo(200.0f, 100.0f);
path.lineTo(0.0f, 100.0f);
path.lineTo(0.0f, 0.0f);
mTrapezoid = new ShapeDrawable(new PathShape(path, 200.0f, 100.0f));
mTrapezoid.getPaint().setStyle(Paint.Style.FILL_AND_STROKE);
mTrapezoid.getPaint().setStrokeWidth(1.0f);
mTrapezoid.getPaint().setColor(Color.GREEN);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
mTrapezoid.setBounds(0, 0, w, h);
}
@Override
protected void onDraw(Canvas canvas) {
mTrapezoid.draw(canvas);
}
}
sử dụng std ShapeDrawable với một Shape tùy chỉnh – pskink
Sử dụng có thể vẽ vector: Xem câu trả lời của tôi dưới đây. –
Kiểm tra [answer] này (http://stackoverflow.com/questions/41551094/how-to-create-leaning-list-items/41622884#41622884) –