正文
最近做一个学习报告界面如图
其中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>