2012-08-22 75 views
0

我想在相對佈局的(x,y)位置放置轉輪進度條。 要做到這一點,我必須知道進度條的大小。 我如何知道進度條的大小? 有沒有比這更好的方法?如何知道進度條的大小?

ProgressBar pb = new ProgressBar(context, null, android.R.attr.progressBarStyleSmall); 
params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
params.leftMargin = x - pb.getWidth()/2; // pb.getWidth() returns 0 
params.topMargin = y - pb.getHeight()/2; 
addView(pb, params); 

回答

0

只有在渲染到屏幕的視圖之前,纔會定義寬度和高度。 在你的情況應該是這樣的:

addView(pb, params); 
leftMargin = x - pb.getWidth()/2; // pb.getWidth() returns 0 
topMargin = y - pb.getHeight()/2; 

Duplicate 1 Duplicate 2

+0

它仍然返回0 – user1301568

+0

可能之前還是可以setWidth – Arkady