我正在使用以下XML代码:
<TextView
android:id="@+id/type_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/triangle_bg"
android:padding="1dp"
android:text="Sponsors"
android:textColor="#ffffff" />
这是triangle_bg.xml的代码
<item>
<rotate
android:fromDegrees="45"
android:pivotX="90%"
android:pivotY="-50%"
android:toDegrees="-45" >
<shape android:shape="rectangle" >
<stroke
android:width="1dp"
android:color="@android:color/transparent" />
<solid android:color="#00C6FF" />
</shape>
</rotate>
</item>
任何人都可以告诉我如何实现我的第一个背景中显示的三角形背景。?? 在此先感谢
我想要放置图片而不是使用textview。但我想知道是否有任何选项可以使用textview。请帮忙!!!
答案 0 :(得分:0)
使用带有文字赞助商的图像,你不能改变xml矩形中两边之间的角度
答案 1 :(得分:0)
您可以使用如下所示的自定义绘图:
public class TriangleDrawable extends Drawable {
@Override
public void draw(Canvas canvas) {
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.WHITE);
Path path = new Path();
path.moveTo(0, 0);
path.lineTo(canvas.getWidth() / 2, canvas.getHeight());
path.lineTo(canvas.getWidth(), 0);
path.close();
canvas.drawPath(path, paint);
}
}
将此设置为TextView
findViewById(R.id.text).setBackground(new TriangleDrawable());
并确保向左/右应用填充,因为drawable只会在TextView
的范围内绘制。
<TextView
style="@style/Base.TextAppearance.AppCompat.Body1"
android:paddingLeft="32dp"
android:paddingRight="32dp"
android:text="TEST"
android:id="@+id/text"/>