专栏名称: 不嗅肛
目录
相关文章推荐
呆呆有理  ·  重读的意义 ·  17 小时前  
呆呆有理  ·  重读的意义 ·  17 小时前  
九章算法  ·  终极版捡漏!大厂system ... ·  2 天前  
九章算法  ·  开闸放水!《大厂LeetCode算法面试宝典 ... ·  3 天前  
收获  ·  直播 | ... ·  3 天前  
为你读诗  ·  戴上它,优雅度过秋天 ·  6 天前  
51好读  ›  专栏  ›  不嗅肛

RecyclerView展示数据不完整,用RelativeLayout嵌套,还不能正常展示,嵌套过深不能正常展示,嵌套自定义View不展示等

不嗅肛  · CSDN  ·  · 2021-01-30 12:17

正文

最近做一个学习报告界面如图

其中02知识点掌握度展示不全.明明18个item,而UI上只展示三个.....

这是网上说,用RelativeLayout

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/dimen_50dp">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/circle_recycler"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</RelativeLayout>

经过临床测试,这种方案,对谷歌的原生控件,或者嵌套层数不深的界面,很有效.

但是在我的项目中,还是不能正常展示,特别是RecyclerView嵌套自定义View时,这时不能再在RecyclerView上下手,

重写RecyclerView方法还是不行,父布局用Relative用权重等还是不行

最后的解决办法,是在每个条目中使用权重

其中,每个item的布局全部用权重,这个可以解决嵌套层数过多问题

现在展示出部分代码,注意,其中的数据是平板尺寸,

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="@dimen/dimen_244dp"
    android:layout_centerInParent="true">

    <RelativeLayout
        android:id="@+id/chart_linear"
        android:layout_width="@dimen/dimen_216dp"
        android:layout_height="@dimen/dimen_216dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true">

        <com.github.mikephil.charting.charts.PieChart
            android:id="@+id/pie_chart"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

        <com.github.mikephil.charting.charts.PieChart
            android:id="@+id/inside_pie_chart"
            android:layout_width="@dimen/dimen_150dp"
            android:layout_height="@dimen/dimen_150dp"
            android:layout_centerInParent="true" />

        <com.github.mikephil.charting.charts.PieChart
            android:id="@+id/innermost_pie_chart"
            android:layout_width="@dimen/dimen_84dp"
            android:layout_height="@dimen/dimen_84dp"
            android:layout_centerInParent="true" />
    </RelativeLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <View
            android:layout_width="@dimen/dimen_0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <LinearLayout
            android:layout_width="@dimen/dimen_0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="@dimen/dimen_35dp"
                android:orientation="horizontal">

                <ImageView
                    android:layout_width="0dp"
                    android:layout_height="@dimen/dimen_28dp"
                    android:layout_marginTop="@dimen/dimen_7dp"
                    android:layout_weight="1"
                    android:background="@mipmap/home_work_ofter_line" />

                <TextView
                    android:id="@+id/text_one"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="@dimen/dimen_10dp"
                    android:minWidth="@dimen/dimen_80dp"
                    android:text="60.22%"
                    android:textColor="@color/text_blank"
                    android:textSize="@dimen/sp_18sp" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="@dimen/dimen_35dp"
                android:orientation="horizontal">

                <ImageView
                    android:layout_width="0dp"
                    android:layout_height="@dimen/dimen_28dp"
                    android:layout_marginTop="@dimen/dimen_7dp"
                    android:layout_weight="1"
                    android:background="@mipmap/home_work_before_line" />

                <TextView
                    android:id="@+id/text_two"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="@dimen/dimen_10dp"
                    android:minWidth="@dimen/dimen_80dp"
                    android:text="60.22%"
                    android:textColor="@color/text_blank"
                    android:textSize="@dimen/sp_18sp" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="@dimen/dimen_35dp"
                android:orientation="horizontal">

                <ImageView
                    android:layout_width="0dp"
                    android:layout_height="@dimen/dimen_28dp"
                    android:layout_marginTop="@dimen/dimen_7dp"
                    android:layout_weight="1"
                    android:background="@mipmap/home_work_gao_fen_line" />

                <TextView
                    android:id="@+id/text_three"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="@dimen/dimen_10dp"
                    android:minWidth="@dimen/dimen_80dp"
                    android:text="60.22%"
                    android:textColor="@color/text_blank"
                    android:textSize="@dimen/sp_18sp" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
</RelativeLayout>