gpt4 book ai didi

android - 横跨 View 的对角线

转载 作者:太空宇宙 更新时间:2023-11-03 13:22:08 29 4
gpt4 key购买 nike

基于某些条件,我必须对角切割列表单元格。为此,我使用以下代码制作了对角线可绘制图像:

对角线.xml

 <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:top="0dp"
android:bottom="0dp"
>
<rotate
android:fromDegrees="315"
android:toDegrees="315"
android:pivotX="0%"
android:pivotY="0%" >
<shape
android:shape="line"
>
<stroke
android:width="10dp"
android:color="@color/grey" />
</shape>
</rotate>
</item>
</layer-list>

在列表单元格的 xml 中,它用作:

 <ImageView 
android:layout_height="match_parent"
android:layout_width="match_parent"
android:background="@drawable/diagonal_line"
android:layerType="software"
android:scaleType="fitXY"
/>

这条对角线出现在单元格 xml 的图形 View 中,但在列表膨胀后不会出现。目前它的可见性独立于任何条件,即可见性始终为真。

知道问题出在哪里吗?

最佳答案

对角线的自定义 View 是:

import android.content.Context;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
public class DiagonalLineView extends View {

private int dividerColor;
private Paint paint;

public DiagonalLineView(Context context)
{
super(context);
init(context);
}

public DiagonalLineView(Context context, AttributeSet attrs)
{
super(context, attrs);
init(context);
}

public DiagonalLineView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
init(context);
}

private void init(Context context)
{
Resources resources = context.getResources();
dividerColor = resources.getColor(R.color.grey);

paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(dividerColor);
paint.setStrokeWidth(resources.getDimension(R.dimen.vertical_divider_width));
}

@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
canvas.drawLine(0, getHeight(), getWidth(), 0, paint);
}

}

它对我有用。

关于android - 横跨 View 的对角线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26278084/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com