這種ui如果寬高定死,那麼適配就不好,因爲android手機的尺寸實在太多了。
一般做法:
採用線性佈局,圓圈寬度使用權重,高度採用計算的方法
比如:
int picwidth = (ScreenUtils.getScreenWidthPx(base) - WonderfulDpPxUtils.dip2px(base, 151)) / 2;
ViewGroup.LayoutParams layoutParams = rlCircleBgFlow.getLayoutParams();
layoutParams.height = picwidth;
ConstraintLayout的做法:
ConstraintLayout有權重的屬性,可以像線性佈局一樣適配屏幕,最主要的是他有一個寬高幣的一個屬性layout_constraintDimensionRatio,我們只要設置成1:1那就可以省去計算的方法了
如: android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_50"
app:layout_constraintBottom_toTopOf="@id/iv_publish_close"
app:layout_constraintDimensionRatio="1:1.2"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@id/ll_push_project"