android - 如何向 ViewFlipper 添加自定义 View

标签 android

我定义了一个包含 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/

相关文章:

java - Android SecretKeyFactory 问题。未找到实现?

android -如何使用 ksoap 将双值传递给服务

android - 如何在 Activity 之间传递drawable

安卓/java : Transition/Migration from ProGuard to R8?

java - 图像 url 将 null 值传递给另一个 Intent

android - 在不调整大小的情况下生成旋转位图

android - 系统壁纸应该通过服务改变

java - MainActivity 的 ActionBar 中的后退按钮

android - 如何在 android 的 videoview 中播放 .mp4 视频?

android - 无法实例化 fragment - java.lang.RuntimeException