-2

所以我正在尝试学习如何使用 Android 应用程序,并且我有一个名为(id)“img_BarHealth”的 ImageView,我将其初始化为“160dp”。

我制作了一个按钮并将其连接到此功能:

public void onBack(View view) {
    //Get link to the object.
    ImageView bar_Health = (ImageView) findViewById(R.id.img_BarHealth);

    //This is what I want done. (However this value is not accessable it seems)
    bar_Health.width = "80dp";
}

那么,有什么建议吗?=)

4

2 回答 2

0

使用getLayoutParams().width

ImageView bar_Health = (ImageView) findViewById(R.id.img_BarHealth);
    bar_Health.getLayoutParams().width = 80;
于 2013-09-05T20:22:51.703 回答
0

你必须打电话getLayoutParams().width,然后你需要将dip 转换为像素大小

public int convertDipToPixels(float dips)
{
    return (int) (dips * getResources().getDisplayMetrics().density + 0.5f);
}

一些工作将接近:

bar_Health.getLayoutParams().width = convertDipToPixels(80);
于 2013-09-05T20:24:51.680 回答