頁面沒有繪製完成,獲取控件大小
頁面沒有繪製完成,獲取控件大小方法:
ViewTreeObserver //視圖樹的觀察者,模擬繪製
addOnGlobalLayoutListener可以獲取該空間繪製出來的大小等空間相關信息
ViewTreeObserver vto2 = llImageView.getViewTreeObserver();
vto2.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int srceenW = (getResources().getDisplayMetrics().widthPixels - llImageView
.getMeasuredWidth()) / 2; //http://blog.csdn.net/wotoumingzxy/article/details/7760935
textView.setWidth(srceenW);
//移除當前監聽器
llImageView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
});
ViewTreeObserver vto3 = llImageView.getViewTreeObserver();
vto3.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int srceenW = btnAction.getMeasuredWidth();
}
});
ViewTreeObserver vto2 = llImageView.getViewTreeObserver();
vto2.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int srceenW = (getResources().getDisplayMetrics().widthPixels - llImageView
.getMeasuredWidth()) / 2;
textView.setWidth(srceenW);
btnAction.getViewTreeObserver().removeGlobalOnLayoutListener(this);
llImageView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
});
textView.setTextColor(Color.WHITE);
textView.setPadding(2, 0, 0, 0);
return convertView;
匿名方法類的this是指Listener
getApplicationContext()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.