我动态添加了一个自定义视图,但是当我更改参数(高度、宽度)时,视图消失了,或者如果我只是使用标准参数添加它,它可以正常工作。有什么问题?我正在尝试动态添加此部分并影响部分的新参数。
xml代码:
<RadioGroup
android:id="@+id/prog"
android:layout_width="fill_parent"
android:layout_height="35dip"
android:layout_gravity="center"
android:layout_margin="10sp"
android:orientation="horizontal"
android:textAlignment="center" >
</RadioGroup>
实现代码:
bar = (RadioGroup) getView().findViewById(R.id.prog);
int width = bar.getWidth();
RadioGroup.LayoutParams lparams = new RadioGroup.LayoutParams(width / 2,
height);
SegmentedControlButton part = new SegmentedControlButton(getActivity());
part.setLayoutParams(lparams);
bar.addView(part);
有一部分它可以工作,但有两部分它会消失。我试图检查宽度的值,0
但我调用了该方法,OnViewCreated
因此通常在那里准备视图。
PS:我使用了一个片段
更新:
我尝试了这个实现,OnViewCreated
但仍然0
:
ViewTreeObserver vto = bar.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
width = bar.getWidth();
}
});