0

我必须完成一项任务,其中我必须创建一个 5x5 框矩阵。当用户单击任何框时,突出显示该框内的数字。有人可以指导我如何做到这一点吗?

我必须使用表格布局或其他东西。

下面是盒子。

在此处输入图像描述

4

1 回答 1

-1

方板

我使用 onMeasure 事件创建了这个板。

因此,您可以创建扩展旧视图的自定义视图并覆盖此事件以创建方形视图或布局。然后您可以轻松地将此视图添加到 TableLayout 内的 TableRow 中。如果您需要,我可以输入所有需要的代码,或者如果您有其他问题,请告诉我。

@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);


    int h = this.getMeasuredHeight();
    int w = this.getMeasuredWidth();
    int curSquareDim = Math.min(w, h);
    // Inside a viewholder or other grid element,
    // with dynamically added content that is not in the XML,
    // height may be 0.
    // In that case, use the other dimension.
    if (curSquareDim == 0)
        curSquareDim = Math.max(w, h);

    if(curSquareDim < squareDim)
    {
        squareDim = curSquareDim;
    }

    Log.d("MyApp", "h "+h+"w "+w+"squareDim "+squareDim);


    setMeasuredDimension(squareDim, squareDim);

}
于 2016-11-04T16:24:17.490 回答