android – 带有方形子项的Gridlayout

android – 带有方形子项的Gridlayout,第1张

概述我一直在尝试使用方形子项来实现GridLayout,您可以从此图像中看到. 因此,基本上视图应根据项目数量进行调整,而不会声明列大小和行大小.这对GridLayout来说可能吗?如果没有,那么忘记这个问题. 现在让我们到达方形部分.我尝试实现此代码 public class SquareLinearLayout extends LinearLayout { public SquareL 我一直在尝试使用方形子项来实现GrIDLayout,您可以从此图像中看到.

因此,基本上视图应根据项目数量进行调整,而不会声明列大小和行大小.这对GrIDLayout来说可能吗?如果没有,那么忘记这个问题.

现在让我们到达方形部分.我尝试实现此代码

public class SquarelinearLayout extends linearLayout {    public SquarelinearLayout(Context context,AttributeSet attrs) {        super(context,attrs);    }    @OverrIDe    protected voID onMeasure(int wIDthMeasureSpec,int heightmeasureSpec) {        final int wIDthSize = MeasureSpec.getSize(wIDthMeasureSpec);        final int heightSize = MeasureSpec.getSize(heightmeasureSpec);        if (wIDthSize == 0 && heightSize == 0) {            super.onMeasure(wIDthMeasureSpec,heightmeasureSpec);            final int minSize = Math.min(getMeasureDWIDth(),getMeasuredHeight());            setMeasuredDimension(minSize,minSize);            return;        }        final int size;        if (wIDthSize == 0 || heightSize == 0) {            size = Math.max(wIDthSize,heightSize);        } else {            size = Math.min(wIDthSize,heightSize);        }        final int newMeasureSpec = MeasureSpec.makeMeasureSpec(size,MeasureSpec.EXACTLY);        super.onMeasure(newMeasureSpec,newMeasureSpec);    }}

尽管它确实使子布局成为正方形,但它也占据了屏幕的整个宽度,将其他孩子推出布局的可视部分.

你有任何链接,或者你自己有一个类似于这个类的代码,但不占用布局的整个宽度?提前致谢.

解决方法 从来没有我使用上面相同的代码工作,并将项目放在tableLayout而不是GrIDlayout.

这是一个示例代码,如果你像我一样陷入这种情况.首先,我为正方形创建一个布局.

<?xml version="1.0" enCoding="utf-8"?><com.androID.f45tv.vIEw.ui.SquarelinearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:ID="@+ID/sllContainer"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:padding="2dp"    androID:orIEntation="vertical">    <linearLayout        androID:ID="@+ID/llHolder"        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"        androID:padding="2dp"        androID:gravity="center"        androID:orIEntation="vertical">        <TextVIEw            androID:ID="@+ID/tvname"            androID:layout_wIDth="match_parent"            androID:layout_height="wrap_content"            androID:textSize="18sp"            androID:textcolor="@color/white"            androID:layout_marginBottom="2dp"            androID:gravity="center_horizontal" />        <TextVIEw            androID:ID="@+ID/tvPercent"            androID:layout_wIDth="match_parent"            androID:layout_height="wrap_content"            androID:textSize="40sp"            androID:textcolor="@color/white"            androID:gravity="center" />        <TextVIEw            androID:ID="@+ID/tvBPM"            androID:layout_wIDth="match_parent"            androID:layout_height="wrap_content"            androID:textcolor="@color/white"            androID:textSize="12sp"            androID:gravity="end" />        <TextVIEw            androID:ID="@+ID/tvBPMLabel"            androID:layout_wIDth="match_parent"            androID:layout_height="wrap_content"            androID:text="bpm"            androID:textSize="10sp"            androID:textcolor="@color/white"            androID:gravity="end" />    </linearLayout></com.androID.f45tv.vIEw.ui.SquarelinearLayout>

然后将其添加到我的主活动布局中,并在表格行中包含一个include标记.

总结

以上是内存溢出为你收集整理的android – 带有方形子项的Gridlayout全部内容,希望文章能够帮你解决android – 带有方形子项的Gridlayout所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1123709.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存