我有一个简单的布局,包含一个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));
}