我正在制作一个android应用,并且我创建了一个带有画布的类来绘制矩形。我想从另一个(称为碎片)中调用该类并显示矩形。这是我所拥有的:

这是我的RectShape类:

public class RectShape extends View{

public RectShape(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
}

@Override
protected void onDraw(Canvas canvas) {

    super.onDraw(canvas);

    Rect ourRect = new Rect();
    ourRect.set(3, 0, canvas.getWidth() - 3, 150);

    Paint postColor = new Paint();
    postColor.setColor(Color.WHITE);
    postColor.setStyle(Paint.Style.FILL);

    canvas.drawRect(ourRect, postColor);
    }
}


这是我的片段类:

public class FragmentFeed extends Fragment{

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View V = inflater.inflate(R.layout.fragment_feed_layout, container, false);



    RectShape shape = new RectShape(getActivity());



    return V;

    }
}


我没有任何错误..形状只是没有显示..它有什么问题吗?我不想从同一个类中调用形状。

最佳答案

您必须在片段中添加RectShape shape = new RectShape(getActivity());。当前,您正在初始化它。将视图添加到碎片中,它将显示。

10-08 15:22