需要怎么改可以解决下面这个问题?

public class Test0812Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

AbsoluteLayout layer = (AbsoluteLayout)findViewById(R.id.AbsoluteLayout01);

CheckBox btt = new CheckBox(this);
layer.addView(btt);
btt.setText("4567");
btt.layout(100, 100, 200, 200);
btt.postInvalidate();
}
}
为什么生成的CheckBox总是出现在左上角,而不是layout函数中规定的100,100,200,200?

开心每一天1111
浏览 96回答 2
2回答

回首忆惘然

btt.setText("4567");btt.layout(100, 100, 200, 200);btt.postInvalidate();layer.addView(btt);你这样排版试试

慕姐8265434

关于楼上的onCreate()问题我推测应该是在onCreate()之后才开始绘图,所以会导致layout()失效解决办法是post一个Runnable,在Runnable内部layout()同样,在构造函数中使用layout()也无效别说layout()了,玩个getWidth()都是0同样一个Runnable解决问题还有,楼主用的就是AbsoluteLayout...
打开App,查看更多内容
随时随地看视频慕课网APP