我定义了一个包含3个视图的ViewFlipper ...
<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/flipper" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<include android:id="@+id/first" layout="@layout/first_view" />
<include android:id="@+id/second" layout="@layout/second_view" />
<include android:id="@+id/third" layout="@layout/third_view" />
</ViewFlipper>
我还在我的活动中定义了自定义视图...
private class CompassView extends View {
@Override
protected void onDraw(Canvas canvas) {
...
}
}
如何,我需要将这些链接在一起,以便XML布局文件中定义的'third_view'需要是CompassView,或者添加了CompassView。
我可以做的是从布局中删除'third_view',然后手动添加CompassView ..
viewFlipper = (ViewFlipper)findViewById(R.id.flipper);
viewFlipper.addView(new CompassView(this));
但是我失去了在布局文件中定义其他视图控件的能力。
我可以声明性地将CompassView添加到'third_view'吗?
答案 0 :(得分:1)
如果问题是如何在Android XML布局文件中添加自定义视图,请尝试以下操作:
<com.example.CustomView
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</com.example.CustomView>
open和close标签应该只是自定义视图的完全限定类。