2013-07-29 3 views
1

мое приложение Android использует пользовательскую камеру. У меня просто есть фреймейк (полный экран) в моем файле макета xml, к которому я программно добавляю представление поверхности, которое содержит предварительный просмотр камеры.Как добавить элементы в пользовательское приложение для Android-приложений?

Теперь я хотел бы добавить несколько кнопок в макет рамки. Я знаю, что я мог бы просто добавлять эти кнопки программно, но есть ли лучший способ сделать это. Я имею в виду, могу ли я создать что-то вроде маски/макета, содержащего некоторые кнопки, и затем программным образом добавить в макет рамки?

Как это делают профессиональные производители приложений? Я просто хочу знать все это, чтобы сохранить хороший дизайн.

Большое вам спасибо!

ответ

0

Создайте файл XML макет. Из предоставленной вами информации база будет FrameLayout. Поместите кнопки и другие виджеты, где вам нужно. Например, скажем, вы разместите 3 кнопки внутри FrameLayout: b1, b2 и b3.

Когда добавляется SurfaceView, кнопки не будут видны. Сделайте это, чтобы показать их поверх SurfaceView:

// Initially 

frameLayout = (FrameLayout) findViewById(R.id.framelayout_id_from_xml_file); 

b1 = (Button) findViewById(R.id.button_id_from_xml_file_1); 

b2 = (Button) findViewById(R.id.button_id_from_xml_file_2); 

b3 = (Button) findViewById(R.id.button_id_from_xml_file_3); 

.... 
.... 
.... 

// create a SurfaceView and add it to the framelayout 

frameLayout.add(sufaceView); 

// now, remove the buttons and add them again 

frameLayout.removeView(b1); 
frameLayout.addView(b1); 

frameLayout.removeView(b2); 
frameLayout.addView(b2); 

frameLayout.removeView(b3); 
frameLayout.addView(b3); 
Смежные вопросы