net*_*tte 3 android android-layout android-linearlayout
我使用布局权重将TextViews设置为线性布局.
linearLayout.setWeightSum(7f);
for(int i=0;i<7;i++){
TextView tv= new TextView(this);
tv.setLayoutParams(new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT, 0, 1f));
tv.setText("sometext");
linearLayout.addView(tv);
}
Run Code Online (Sandbox Code Playgroud)
在绘制布局后如何获得这些TextView的宽度和高度?
tv.getWidth()和tv.getHeight()返回0;
使用
getViewTreeObserver
如
yourView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// Ensure you call it only once :
yourView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
// get size of view here
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
809 次 |
| 最近记录: |