android – 带有方形子项的Gridlayout

编程之家收集整理的这篇文章主要介绍了android – 带有方形子项的Gridlayout编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

搜索热词

我一直在尝试使用方形子项来实现GridLayout,您可以从此图像中看到.

enter image description here

因此,基本上视图应根据项目数量进行调整,而不会声明列大小和行大小.这对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所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢寻找一群志同道合、互帮互助的学习伙伴,可以点击下方链接加入:
编程之家官方1群
编程之家官方2群
编程之家官方3群
编程之家官方4群

相关文章

猜你在找的Android相关文章

Android本意指“机器人”,Google公司将Android的标识设计为一个绿色机器人, 表示Android系统符合环保概念,是一个轻薄短小,功能强大的移动系统,是第一个真正为手机打造的开放性系统。今天给大家介绍一下常见的Android界面控件。1、TextView控件(1)功能:TextView用于显示文本信息。(2)布局属性和功能描述:(3)代码样式和界面显示:...
(1)点击左侧app目录下的manifests,打开AndroidManiFest.xml文件,如图:(2)找到其中为 android:theme="@style/AppTheme" 的语句,如图:(3)将其修改为 android:theme="@style/Theme.AppCompat.NoActionBar" 即可。
本章目录一、服务概述二、服务的创建三、服务的生命周期四、服务的启动方式1、调用startService()方法启动服务2、调用bindService()方法启动服务五、服务的通信1、本地服务通信和远程服务通信2、实战演练——音乐播放器六、本章小结一、服务概述二、服务的创建清单文件:&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;manifest xmlns:android="http://schemas.android.com/apk/
本章目录一、内容提供者概述二、创建内容提供者三、访问其他应用程序1、查询其他程序的数据2 、查询系统短信四、内容观察者1、什么是内容观察者2、监测数据变化五、本章小结一、内容提供者概述二、创建内容提供者三、访问其他应用程序1、查询其他程序的数据 //获取相应操作的Uri,Uri.parse()方法是将字符串转化成Uri对象。 Uri uri = Uri.parse("content://cn.itcast.mycontentprovider/person"); //获取Conten
博主发过很多Android项目,很多同学都在评论说道导入之后运行不起来或者报错,这是因为我的项目版本和你Android的gradle版本不一致,这里给大家介绍如何按照自己gradle版本导入我的Android项目。1、首先打开一个Android项目,可以看到里面有这些文件夹,将.gradle和.idea这两个文件夹删除。2、选中build.gradle这个文件,用记事本打开,可以看到这里是自己的版本号,我的是3.6.1,你可以查看自己项目的这个文件的版本号,然后把那个版本号修改到这里就行,当然也可以在
项目目录一、项目概述二、开发环境三、详细设计1、主界面的搭建2、消息界面的搭建3、联系人界面的搭建4、动态界面的搭建5、聊天界面的搭建7、跳转功能实现7.1、选项卡的切换7.2、消息列表的适配器8、昵称的传值四、项目效果五、项目总结一、项目概述本次项目主要包含了QQ消息、联系人和动态三个选项卡界面的切换,其中消息界面设计的很详细,有消息列表和消息内容,在点击消息对话框后,会跳转到聊天界面,还会把联系人姓名传值过来。联系人和动态的界面就是很简单的两张截图,点击底下的TextView实现切换。二、开发环境
一、需求分析1、业务需求分析2、架构分析3、数据库类设计分析4、界面需求分析4.1、记事本界面4.2、添加记录界面4.3、修改记录界面二、开发环境介绍三、记事本功能业务实现1 、搭建聊天界面布局关于修改清单文件可以参考 Android Studio如何去除默认标题栏2 、搭建聊天条目布局3 、封装记录信息实体类4 、编写记事本列表适配器//适配器中的getView()方法public View getView(int position, View con
项目目录一、项目概述二、开发环境三、详细设计1、头像设计2、账号输入框3、密码输入框4、登录按钮5、按钮点击事件四、项目效果五、项目总结一、项目概述QQ是我们日常生活使用最多的软件之一,包含登录界面和进入后的聊天界面、好友列表界面和空间动态界面等。登录界面的制作比较简单,主要考验布局的使用,是实现QQ项目的第一步。现在APP开发的首要工作都是实现登录页面,所以学会了QQ登录界面对以后的软件开发有着很重要的作用。二、开发环境三、详细设计1、头像设计首先在layout文件里面选择了Relative
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注