最近做一個學習報告界面如圖
其中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>