Andorid 八角盘(风水八宅图)八圆轮简单实现

本文介绍如何在Android中实现一个风水八角盘,即八圆轮的自定义View。通过创建八角背景图,使用自定义ViewGroup进行八等分布局,并利用FrameLayout进行图层叠加,实现每个圆轮的精确定位。文中提供了XML布局代码和自定义View的核心算法,以及在attrs.xml中设置半径的方法。此外,还提到了动态添加item的实现方式作为备选方案,最后邀请读者交流更多实现方法。
摘要由CSDN通过智能技术生成

这里写图片描述

风水八角盘

困,为了开源精神,继续写点博客,证明一下自己的存在感。之前,项目需求说要做个八角八圆轮图。听了之后就蒙蔽了。卧槽,好难,想想之后,好像有点思路。思路其实挺简单,无非就是写几行代码嘛。废话不多说,先上预览图。

这里写图片描述

实现思路

1、八角背景图
2、自定义ViewGroup实现八个圆轮位置+LL线性垂直布局
3、采用FrameLayout布局层叠

上码不废话

八角底部图就不上了,UI一瞬间就秒出来~~~

XML码

这里就用帧布局来是先把。。

<FrameLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="@dimen/x15">
                <com.eightbears.bear.ec.main.index.luopan.view.CircleLinearLayout
                    app:circleRadius="@dimen/x100"
                    android:layout_gravity="center_horizontal"
                    android:layout_width="@dimen/x300"
                    android:layout_height="@dimen/x300"
                    android:background="@mipmap/icon_bagua">
                    <android.support.v7.widget.LinearLayoutCompat
                        android:id="@+id/ll_gua1"
                        android:orientation="vertical"
                        android:layout_width="wrap_content"
                        android:gravity="center"
                        android:background="@mipmap/icon_baguaniu"
                        android:layout_height="wrap_content">
                        <TextView
                            android:id="@+id/tv_gua1"
                            android:layout_width="wrap_content"
                            android:textSize="@dimen/font_size_20"
                            android:textColor="@color/text_color_333"
                            android:layout_height="wrap_content"
                            android:gravity="center"
                            android:text="" />
                        <TextView
                            android:id="@+id/tv_wei1"
                            android:layout_marginTop="-2dp"
                            android:layout_width="wrap_content"
                            android:textSize="@dimen/font_size_15"
                            android:layout_height="wrap_content"
                            android:textColor="@color/text_bazai_red_c91d1d"
                            android:gravity="center"
                            android:text="" />
                    </android.support.v7.widget.LinearLayoutCompat>

                    <android.support.v7.widget.LinearLayoutCompat
                        android:id="@+id/ll_gua2"
                        android:orientation="vertical"
                        android:layout_width="wrap_content"
                        android:gravity="center"
                        android:background="@mipmap/icon_baguaniu"
                        android:layout_height="wrap_content">
                        <TextView
                            android:id="@+id/tv_gua2"
                            android:layout_width="wrap_content"
                            android:textSize="@dimen/font_size_20"
                            android:textColor="@color/text_color_333"
                            android:layout_height="wrap_content"
                            android:gravity="center"
                            android:text="" />
                        <TextView
                            android:id="@+id/tv_wei2"
                            android:layout_marginTop="-2dp"
                            android:layout_width="wrap_content"
                            android:textSize="@dimen/font_size_15"
                            android:layout_height="wrap_content"
                            android:textColor="@color/text_bazai_red_c91d1d"
                            android:gravity="center"
                            android:text="" />
                    </android.support.v7.widget.LinearLayoutCompat>

                    <android.support.v7.widget.LinearLayoutCompat
                        android:id="@+id/ll_gua3"
                        android:orientation="vertical"
                        android:layout_width="wrap_content"
                        android:gravity="center"
                        android:background="@mipmap/icon_baguaniu"
                        android:layout_height="wrap_content">
                        <TextView
                            android:id="@+id/tv_gua3"
                            android:layout_width="wrap_content"
                            android:textSize="@dimen/font_size_20"
                            android:textColor="@color/text_color_333"
                            android:layout_height="wrap_content"
                            android:gravity="center"
                            android:text=
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值