@Override protected void addButtons() { // Approve button: Item<?> approveButton = null; File approveImgFile = controller .getFileStorageProvider() .getProjectImageFile( controller.getProject(), field.getApproveButtonImageRelativePath()); if (FileHelpers.isReadableFile(approveImgFile)) approveButton = new FileImageItem(approveImgFile); else approveButton = new ResourceImageItem(getContext().getResources(), R.drawable.button_tick_svg); approveButton.setBackgroundColor( ColourHelpers.ParseColour(field.getBackgroundColor(), Field.DEFAULT_BACKGROUND_COLOR)); addButton(approveButton); // Discard button: Item<?> discardButton = null; File discardImgFile = controller .getFileStorageProvider() .getProjectImageFile( controller.getProject(), field.getDiscardButtonImageRelativePath()); if (FileHelpers.isReadableFile(discardImgFile)) discardButton = new FileImageItem(discardImgFile); else discardButton = new ResourceImageItem(getContext().getResources(), R.drawable.button_delete_svg); discardButton.setBackgroundColor( ColourHelpers.ParseColour(field.getBackgroundColor(), Field.DEFAULT_BACKGROUND_COLOR)); addButton(discardButton); }
/** * Note: for now there is only the capture button, we might add other features (flash, * zooming, etc.) later * * @see * uk.ac.ucl.excites.sapelli.collector.ui.fieldviews.CameraView.CameraButtonView#addButtons() */ @Override protected void addButtons() { // Capture button: Item<?> captureButton; File captureImgFile = controller .getFileStorageProvider() .getProjectImageFile( controller.getProject(), field.getCaptureButtonImageRelativePath()); if (FileHelpers.isReadableFile(captureImgFile)) captureButton = new FileImageItem(captureImgFile); else captureButton = new ResourceImageItem(getContext().getResources(), R.drawable.button_photo_svg); captureButton.setBackgroundColor( ColourHelpers.ParseColour(field.getBackgroundColor(), Field.DEFAULT_BACKGROUND_COLOR)); addButton(captureButton); // Zoom buttons: Item<?> buttonZoomIn = new ResourceImageItem(getContext().getResources(), R.drawable.button_zoom_in_svg); Item<?> buttonZoomOut = new ResourceImageItem(getContext().getResources(), R.drawable.button_zoom_out_svg); buttonZoomIn.setBackgroundColor( ColourHelpers.ParseColour(field.getBackgroundColor(), Field.DEFAULT_BACKGROUND_COLOR)); buttonZoomOut.setBackgroundColor( ColourHelpers.ParseColour(field.getBackgroundColor(), Field.DEFAULT_BACKGROUND_COLOR)); addButton(buttonZoomIn); addButton(buttonZoomOut); }
/** @param context */ public CameraButtonView(Context context) { super(context); setOnItemClickListener(CameraView.this); // Layout: setBackgroundColor(Color.TRANSPARENT); setGravity(Gravity.CENTER); setPadding(0, collectorUI.getSpacingPx(), 0, 0); // Columns setNumColumns(getNumberOfColumns()); // Images/buttons: // Button size, padding & background colour: this.setItemDimensionsPx( LayoutParams.MATCH_PARENT, ScreenMetrics.ConvertDipToPx(context, AndroidControlsUI.CONTROL_HEIGHT_DIP)); this.buttonBackColor = ColourHelpers.ParseColour( controller.getCurrentForm().getControlBackgroundColor(), Form.DEFAULT_CONTROL_BACKGROUND_COLOR /*light gray*/); // The addButtons() should be called after the button parameters (size, padding etc.) have // been setup addButtons(); // And finally: setAdapter(getAdapter()); // this is supposedly needed on Android v2.3.x (TODO test it) }