LinearLayoutCompat新增分割線divider
ListView 可以很方便的新增分割線,發現線性佈局也能很方便的新增分割線。
LinearLayoutCompat 支援 LinearLayout的常用用法,可參考:Android Material Design :LinearLayoutCompat新增分割線divider
(1)app:showDividers="beginning|middle|end"屬性。
beginning,middle,end屬性值分別指明將在何處新增分割線。
beginning表示從該LinearLayoutCompat佈局的最頂一個子view的頂部開始。
middle表示在此LinearLayoutCompat佈局內的子view之間新增。
end表示在此LinearLayoutCompat最後一個子view的底部新增分割線。
(2)app:divider="@drawable/line"
LinearLayoutCompat新增分割線需要為此分割線定義一個shape。
連結中的方法是XML,記錄下程式碼佈局的使用:
public final class Line extends LinearLayoutCompat { public Line(@NonNull Context context) { super(context); // 設定分割線的模式。 setShowDividers(SHOW_DIVIDER_MIDDLE); // 使用程式碼定義Shape。 GradientDrawable line = new GradientDrawable(); // 雖然定義的是分割線,但寫這句程式碼將導致顏色不生效。 // line.setShape(GradientDrawable.LINE); line.setColor(Color.RED); // 寬高預設值為-1,但修改寬的值不會生效。 line.setSize(-1, 9); setDividerDrawable(line); } }
重點: 雖然定義的是分割線
,但設定line.setShape(GradientDrawable.LINE)
將導致顏色不生效。