动态添加时自定义视图不显示

Jus*_*roy 6 layout android view dynamic

在这里不知所措.搜索范围广泛,无法找到这个问题的答案......

我有一个XML布局,我有一个相对布局,我用它作为不同视图的占位符.

<RelativeLayout
    android:id="@+id/relVariableLayoutPlaceHolder"

    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"

    android:background="@color/white"
    >

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

在我的活动中,我有一个按钮供用户按下,当他们按下它时,我希望ClockView创建并动态添加自定义.请注意,方法中的_variableLayout设置完美onCreate:

public void onStartTimeClick(View view)
{
    //Clean up any left over views
    _variableLayout.removeAllViews();

    //Add clock view
    ClockView clockView = new ClockView(_context);
    _variableLayout.addView(clockView);
}
Run Code Online (Sandbox Code Playgroud)

问题是当按下按钮时,屏幕上没有任何反应.我可以,当我点击TextView屏幕上的那个时,我可以看到它.

我在此处上传了一些图片,点击之前和之后TextView:http: //imgur.com/a/9lebv

我可以想象这有事情做与时钟图绘,但我已经试过的每个组合后没有被刷新屏幕invalidate()requestLayout()我能想到的.有任何想法吗?

Jus*_*roy 2

出于历史目的,我觉得我应该提到,经过大量调试后,我发现我的问题出onMeasure在. 基本上,它们的结构很差,并且没有正确测量子视图以使函数能够正确处理。onLayoutClockViewonLayout

一旦我解决了这些问题,一切都按预期进行。