java - 如何以编程方式将多个 ImageView 添加到 Framelayout?

标签 java android android-relativelayout surfaceview android-framelayout

我正在创建一个使用自定义相机的应用程序。我的想法是,我只是在 xml 文件中定义一个 Framelayout,然后以编程方式添加 SurfaceView(这是相机预览)和一些其他 ImageView(例如快门按钮、闪光灯按钮...)

我设法让 SurfaceView 工作,但现在我有点卡住了。我想将多个 ImageView 添加到框架布局中,但如何正确设置它们。我指的是它们在框架布局中的位置。 我可以创建一个相对布局并以编程方式将其添加到我的框架布局中吗?如果是这样,我该怎么做?

请问有人可以给我一些建议吗? 谢谢!

最佳答案

FrameLayou 只能有一个直接子级。你可以试试这个

    SurfaceView surface = .....;
    FrameLayout frame = findViewById(R.id.frame);
    RelativeLayout relativeLayout = new RelativeLayout(this);
    frame.addView(relativeLayout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
    relativeLayout.addView(surface, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

    // here you should add your images to relativeLayout

关于java - 如何以编程方式将多个 ImageView 添加到 Framelayout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17900069/

相关文章:

java - box2d 主体特定区域上的触摸事件

java - 使用带有布局的paintComponent

android - 检查 Sensor.TYPE_SIGNIFICANT_MOTION 是否受硬件支持

java - Android:将 View 放在与其他 View 相同的高度

android - 与屏幕右侧对齐,Android 有边距

java - relativeLayout 和 Canvas 服装 View

java - 比较两个非常大的列表的最佳方法

java - 如何根据具有 ID 的 Employee 值对 HashMap 进行排序?

java - 如何获得 try/catch 语句的正确输出?

Android:相对布局布局