我定义了一个包含 3 个 View 的 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>
我还在我的 Activity 中定义了一个自定义 View ...
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));
但是我失去了在布局文件中定义其他 View 控件的能力。
我可以通过声明方式将 CompassView 添加到“third_view”吗?
最佳答案
如果问题是如何在 Android XML 布局文件中添加自定义 View ,请尝试以下操作:
<com.example.CustomView
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</com.example.CustomView>
打开和关闭标签应该只是您的自定义 View 的完全限定类。
关于android - 如何向 ViewFlipper 添加自定义 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3891287/