如何在android中运行时在dp中设置按钮的宽度?

use*_*128 3 android button

我有一个Android应用程序.它中有很多按钮,但这些按钮是在运行时创建的.如果我设置宽度button.setwidth(300),它将宽度设置为300px.我希望宽度设置为dp.有什么办法吗?

Zai*_*ani 10

你必须用来TypedValue.applyDimension获得dp的像素数.这是一个例子:

DisplayMetrics dm = getResources().getDisplayMetrics();
float dpInPx = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DP, 300, dm);
Run Code Online (Sandbox Code Playgroud)

这将以编程方式给出300dp的像素值.

干杯