ViewGroup layoutParams in android



我有一个简单的布局,包含一个ImageView和一个TextView,以下是 ImageView 的外观

<ImageView
        android:id="@+id/imageView4"
        android:layout_width="50dp"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toTopOf="@+id/BottomViewGroup"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/circle" />
我特意把宽度定为50dp。

在主活动中我正在使用布局参数

val params= imageView4.layoutParams
textView.text=params.width.toString()
        

现在当我运行应用程序时,TextView 说 150,不应该说 50 吗?

宽度 150 是 px,50 是 dp。

public int convertPxToDp(Context context, int px) {
    return (int)(px / context.getResources().getDisplayMetrics().density);
}   
public int convertDpToPx(Context context, int dp) {
    return  (int)(dp * (context.getResources().getDisplayMetrics().density));
}

最新更新