自定义类无法在Android中正常通胀

时间:2013-07-07 13:22:06

标签: android android-layout surfaceview android-custom-view

过去我在使用SurfaceView时使用了LinearLayout programmaticaly。我认为我会通过使用SurfaceView和XML布局编写自己的秒表来挑战自己。我研究过这个例子here。我的XML是

    <com.spazzkeys.tutorial.ClockView
        android:id="@+id/clockView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical|center_horizontal"
        android:layout_weight="4"
        android:gravity="center_horizontal" />

我的构造函数是:

public ClockView(Context context, AttributeSet attrs) {
    super(context, attrs);
    secHandPaint = new Paint(Color.BLACK);

我的inflater看起来像这样:

    myClock = (ClockView)findViewById(R.id.clockView1);

我所学到的一切都表明这应该有效,但事实并非如此。

我想我不明白如何通过(XML)资源来扩展视图来传输上下文。其次,clockView如何知道边界是什么,所以知道它有多大?

任何想法都会受到赞赏(在我回去编写布局之前)。

感谢。

克里斯

1 个答案:

答案 0 :(得分:0)

这是一个例子,我正在展示。你这样膨胀了吗?

LayoutInflater li = LayoutInflater.from(this);
View promptsView = li.inflate(R.layout.prompts, null);
EditText userInput = (EditText) promptsView.findViewById(R.id.editTextDialogUserInput);