2013-07-27 2 views
0

Я создаю приложение, которое использует пользовательскую камеру. Идея состоит в том, что я просто определяю Framelayout в моем XML-файле, и они программно добавляют SurfaceView (это предварительный просмотр камеры) и некоторые другие ImageViews (например, кнопка спуска затвора, кнопка вспышки ...)Как программно добавить несколько ImageViews в Framelayout?

Мне удалось получить SurfaceView работает, но теперь я немного застрял. Я хочу добавить несколько изображений в макет фрейма, но как я могу их правильно настроить. Я имею в виду их расположение в макете кадра. Могу ли я создать relativelayout и добавить это к моей структуре фрейма программно ?? Если да, то как мне это сделать?

Пожалуйста, можете ли вы дать мне несколько советов? Спасибо!

ответ

1

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 
+0

отлично! не могли бы вы улучшить свой ответ и добавить пример изображения? Было бы интересно посмотреть, как я могу определить его положение в относительном представлении. – user2426316

Смежные вопросы