1<?xml version="1.0" encoding="utf-8"?>
2<!--
3     Copyright (C) 2012 The Android Open Source Project
4
5     Licensed under the Apache License, Version 2.0 (the "License");
6     you may not use this file except in compliance with the License.
7     You may obtain a copy of the License at
8
9          http://www.apache.org/licenses/LICENSE-2.0
10
11     Unless required by applicable law or agreed to in writing, software
12     distributed under the License is distributed on an "AS IS" BASIS,
13     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14     See the License for the specific language governing permissions and
15     limitations under the License.
16-->
17<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
18    xmlns:tools="http://schemas.android.com/tools"
19    android:layout_width="fill_parent"
20    android:layout_height="fill_parent"
21    android:orientation="horizontal" >
22
23    <LinearLayout
24        android:id="@+id/preview_column"
25        android:layout_width="0dp"
26        android:layout_height="fill_parent"
27        android:layout_weight="6"
28        android:animateLayoutChanges="false"
29        android:orientation="vertical"
30        android:visibility="visible" >
31
32        <SurfaceView
33            android:id="@+id/preview"
34            android:layout_width="fill_parent"
35            android:layout_height="0dp"
36            android:layout_weight="@integer/preview_only_weight"
37            tools:ignore="NestedWeights" />
38
39        <SurfaceView
40            android:id="@+id/callback_view"
41            android:layout_width="fill_parent"
42            android:layout_height="0dp"
43            android:layout_weight="@integer/preview_with_callback_weight"
44            android:visibility="gone" />
45
46        <TextView
47            android:id="@+id/log"
48            android:layout_width="fill_parent"
49            android:layout_height="10dp"
50            android:layout_weight="1"
51            android:freezesText="true"
52            android:minLines="3"
53            android:typeface="normal" />
54
55    </LinearLayout>
56
57    <ScrollView
58        android:id="@+id/control_bar"
59        android:layout_width="0dp"
60        android:layout_height="match_parent"
61        android:layout_weight="2"
62        android:fadingEdgeLength="100dp"
63        android:requiresFadingEdge="vertical"
64        android:scrollbarAlwaysDrawVerticalTrack="true" >
65
66        <LinearLayout
67            android:id="@+id/control_bar_contents"
68            android:layout_width="match_parent"
69            android:layout_height="wrap_content"
70            android:layout_marginLeft="5dp"
71            android:orientation="vertical" >
72
73            <TextView
74                android:id="@+id/camera_spinner_label"
75                android:layout_width="wrap_content"
76                android:layout_height="wrap_content"
77                android:layout_marginTop="5dp"
78                android:layout_weight="1"
79                android:text="@string/camera_selection_prompt"
80                android:textAppearance="?android:attr/textAppearanceSmall" />
81
82            <Spinner
83                android:id="@+id/camera_spinner"
84                android:layout_width="fill_parent"
85                android:layout_height="wrap_content"
86                android:layout_weight="1"
87                android:prompt="@string/camera_selection_prompt" />
88
89            <CheckBox
90                android:id="@+id/keep_open_checkbox"
91                android:layout_width="wrap_content"
92                android:layout_height="wrap_content"
93                android:layout_weight="1"
94                android:text="@string/keep_open_prompt" />
95
96            <Button
97                android:id="@+id/info_button"
98                style="?android:attr/buttonStyleSmall"
99                android:layout_width="fill_parent"
100                android:layout_height="wrap_content"
101                android:layout_gravity="center"
102                android:layout_weight="1"
103                android:text="@string/show_info" />
104
105            <View
106                android:id="@+id/horizontal_rule_1"
107                android:layout_width="fill_parent"
108                android:layout_height="1dip"
109                android:layout_marginBottom="@dimen/horiz_rule_btm_margin"
110                android:layout_marginTop="@dimen/horiz_rule_top_margin"
111                android:background="@color/horiz_rule_color" />
112
113            <TextView
114                android:id="@+id/preview_size_spinner_label"
115                android:layout_width="wrap_content"
116                android:layout_height="wrap_content"
117                android:layout_weight="1"
118                android:text="@string/preview_resolution_prompt"
119                android:textAppearance="?android:attr/textAppearanceSmall" />
120
121            <Spinner
122                android:id="@+id/preview_size_spinner"
123                android:layout_width="fill_parent"
124                android:layout_height="wrap_content"
125                android:layout_weight="1"
126                android:prompt="@string/preview_resolution_prompt" />
127
128            <TextView
129                android:id="@+id/preview_frame_rate_label"
130                android:layout_width="wrap_content"
131                android:layout_height="wrap_content"
132                android:layout_weight="1"
133                android:text="@string/preview_frame_rate_prompt"
134                android:textAppearance="?android:attr/textAppearanceSmall" />
135
136            <Spinner
137                android:id="@+id/preview_frame_rate_spinner"
138                android:layout_width="match_parent"
139                android:layout_height="wrap_content"
140                android:layout_weight="1" />
141
142            <ToggleButton
143                android:id="@+id/hdr_mode"
144                android:layout_width="fill_parent"
145                android:layout_height="wrap_content"
146                android:layout_gravity="center"
147                android:layout_weight="1"
148                android:textColorLink="@android:color/holo_blue_light"
149                android:textOff="@string/hdr_off_label"
150                android:textOn="@string/hdr_on_label" />
151
152            <ToggleButton
153                android:id="@+id/start_preview"
154                android:layout_width="fill_parent"
155                android:layout_height="wrap_content"
156                android:layout_gravity="center"
157                android:layout_weight="1"
158                android:textColorLink="@android:color/holo_blue_light"
159                android:textOff="@string/preview_off_label"
160                android:textOn="@string/preview_on_label" />
161
162            <View
163                android:id="@+id/horizontal_rule_2"
164                android:layout_width="fill_parent"
165                android:layout_height="1dip"
166                android:layout_marginBottom="@dimen/horiz_rule_btm_margin"
167                android:layout_marginTop="@dimen/horiz_rule_top_margin"
168                android:layout_weight="1"
169                android:background="@color/horiz_rule_color" />
170
171            <TextView
172                android:id="@+id/af_mode_spinner_label"
173                android:layout_width="wrap_content"
174                android:layout_height="wrap_content"
175                android:layout_weight="1"
176                android:text="@string/af_mode_prompt"
177                android:textAppearance="?android:attr/textAppearanceSmall" />
178
179            <Spinner
180                android:id="@+id/af_mode_spinner"
181                android:layout_width="match_parent"
182                android:layout_height="wrap_content"
183                android:layout_weight="1" />
184
185            <Button
186                android:id="@+id/af_button"
187                style="?android:attr/buttonStyleSmall"
188                android:layout_width="wrap_content"
189                android:layout_height="wrap_content"
190                android:layout_gravity="center"
191                android:layout_weight="1"
192                android:text="@string/trigger_autofocus" />
193
194            <Button
195                android:id="@+id/af_cancel_button"
196                style="?android:attr/buttonStyleSmall"
197                android:layout_width="wrap_content"
198                android:layout_height="wrap_content"
199                android:layout_gravity="center"
200                android:layout_weight="1"
201                android:text="@string/cancel_autofocus" />
202
203            <TextView
204                android:id="@+id/flash_mode_spinner_label"
205                android:layout_width="wrap_content"
206                android:layout_height="wrap_content"
207                android:layout_weight="1"
208                android:text="@string/flash_mode_label"
209                android:textAppearance="?android:attr/textAppearanceSmall" />
210
211            <Spinner
212                android:id="@+id/flash_mode_spinner"
213                android:layout_width="match_parent"
214                android:layout_height="wrap_content"
215                android:layout_weight="1" />
216
217            <TextView
218                android:id="@+id/exposure_label"
219                android:layout_width="wrap_content"
220                android:layout_height="wrap_content"
221                android:layout_weight="1"
222                android:text="@string/exposure_label"
223                android:textAppearance="?android:attr/textAppearanceSmall" />
224
225            <ToggleButton
226                android:id="@+id/exposure_lock"
227                android:layout_width="fill_parent"
228                android:layout_height="wrap_content"
229                android:layout_weight="1"
230                android:textColorLink="@android:color/holo_blue_light"
231                android:textOff="@string/exposure_lock_off_label"
232                android:textOn="@string/exposure_lock_on_label" />
233
234            <TextView
235                android:id="@+id/zoom_label"
236                android:layout_width="wrap_content"
237                android:layout_height="wrap_content"
238                android:layout_weight="1"
239                android:text="@string/zoom_label"
240                android:textAppearance="?android:attr/textAppearanceSmall" />
241
242            <SeekBar
243                android:id="@+id/zoom_seekbar"
244                android:layout_width="fill_parent"
245                android:layout_height="wrap_content"
246                android:layout_weight="1"
247                android:progress="0"
248                style="?android:attr/progressBarStyleHorizontal" />
249
250            <View
251                android:id="@+id/horizontal_rule_3"
252                android:layout_width="fill_parent"
253                android:layout_height="1dip"
254                android:layout_marginBottom="@dimen/horiz_rule_btm_margin"
255                android:layout_marginTop="@dimen/horiz_rule_top_margin"
256                android:layout_weight="1"
257                android:background="@color/horiz_rule_color" />
258
259            <TextView
260                android:id="@+id/snapshot_size_spinner_label"
261                android:layout_width="wrap_content"
262                android:layout_height="wrap_content"
263                android:layout_weight="1"
264                android:text="@string/snapshot_size_prompt"
265                android:textAppearance="?android:attr/textAppearanceSmall" />
266
267            <Spinner
268                android:id="@+id/snapshot_size_spinner"
269                android:layout_width="match_parent"
270                android:layout_height="wrap_content"
271                android:layout_weight="1" />
272
273            <Button
274                android:id="@+id/take_picture"
275                style="?android:attr/buttonStyleSmall"
276                android:layout_width="fill_parent"
277                android:layout_height="wrap_content"
278                android:layout_weight="1"
279                android:text="@string/take_picture_label" />
280
281            <View
282                android:id="@+id/horizontal_rule_4"
283                android:layout_width="fill_parent"
284                android:layout_height="1dip"
285                android:layout_marginBottom="@dimen/horiz_rule_btm_margin"
286                android:layout_marginTop="@dimen/horiz_rule_top_margin"
287                android:layout_weight="1"
288                android:background="@color/horiz_rule_color" />
289
290            <TextView
291                android:id="@+id/camcorder_profile_spinner_label"
292                android:layout_width="wrap_content"
293                android:layout_height="wrap_content"
294                android:layout_weight="1"
295                android:text="@string/camcorder_profile_prompt"
296                android:textAppearance="?android:attr/textAppearanceSmall" />
297
298            <Spinner
299                android:id="@+id/camcorder_profile_spinner"
300                android:layout_width="match_parent"
301                android:layout_height="wrap_content"
302                android:layout_weight="1" />
303
304            <TextView
305                android:id="@+id/video_record_size_spinner_label"
306                android:layout_width="wrap_content"
307                android:layout_height="wrap_content"
308                android:layout_weight="1"
309                android:text="@string/video_record_size_prompt"
310                android:textAppearance="?android:attr/textAppearanceSmall" />
311
312            <Spinner
313                android:id="@+id/video_record_size_spinner"
314                android:layout_width="match_parent"
315                android:layout_height="wrap_content"
316                android:layout_weight="1" />
317
318            <TextView
319                android:id="@+id/video_frame_rate_label"
320                android:layout_width="wrap_content"
321                android:layout_height="wrap_content"
322                android:layout_weight="1"
323                android:text="@string/video_frame_rate_prompt"
324                android:textAppearance="?android:attr/textAppearanceSmall" />
325
326            <Spinner
327                android:id="@+id/video_frame_rate_spinner"
328                android:layout_width="match_parent"
329                android:layout_height="wrap_content"
330                android:layout_weight="1" />
331
332            <ToggleButton
333                android:id="@+id/start_record"
334                android:layout_width="fill_parent"
335                android:layout_height="wrap_content"
336                android:layout_weight="1"
337                android:textColorLink="@android:color/holo_red_dark"
338                android:textOff="@string/record_off_label"
339                android:textOn="@string/record_on_label" />
340
341            <CheckBox
342                android:id="@+id/record_handoff_checkbox"
343                android:layout_width="wrap_content"
344                android:layout_height="wrap_content"
345                android:layout_weight="1"
346                android:text="@string/record_handoff_prompt" />
347
348            <ToggleButton
349                android:id="@+id/record_stabilization"
350                android:layout_width="fill_parent"
351                android:layout_height="wrap_content"
352                android:layout_weight="1"
353                android:textColorLink="@android:color/holo_blue_dark"
354                android:textOff="@string/record_stabilization_off_label"
355                android:textOn="@string/record_stabilization_on_label" />
356
357            <ToggleButton
358                android:id="@+id/record_hint"
359                android:layout_width="fill_parent"
360                android:layout_height="wrap_content"
361                android:layout_weight="1"
362                android:textColorLink="@android:color/holo_blue_dark"
363                android:textOff="@string/record_hint_off_label"
364                android:textOn="@string/record_hint_on_label" />
365
366            <ToggleButton
367                android:id="@+id/lock_camera"
368                android:layout_width="fill_parent"
369                android:layout_height="wrap_content"
370                android:layout_weight="1"
371                android:textColorLink="@android:color/holo_blue_dark"
372                android:textOff="@string/lock_camera_off_label"
373                android:textOn="@string/lock_camera_on_label" />
374
375            <View
376                android:id="@+id/horizontal_rule_5"
377                android:layout_width="fill_parent"
378                android:layout_height="1dip"
379                android:layout_marginBottom="@dimen/horiz_rule_btm_margin"
380                android:layout_marginTop="@dimen/horiz_rule_top_margin"
381                android:layout_weight="1"
382                android:background="@color/horiz_rule_color" />
383
384            <TextView
385                android:id="@+id/callback_format_spinner_label"
386                android:layout_width="wrap_content"
387                android:layout_height="wrap_content"
388                android:layout_weight="1"
389                android:text="@string/callback_format_prompt"
390                android:textAppearance="?android:attr/textAppearanceSmall" />
391
392            <Spinner
393                android:id="@+id/callback_format_spinner"
394                android:layout_width="match_parent"
395                android:layout_height="wrap_content"
396                android:layout_weight="1" />
397
398            <ToggleButton
399                android:id="@+id/enable_callbacks"
400                android:layout_width="wrap_content"
401                android:layout_height="wrap_content"
402                android:layout_weight="1"
403                android:textOff="@string/callbacks_off_label"
404                android:textOn="@string/callbacks_on_label" />
405
406            <View
407                android:id="@+id/horizontal_rule_6"
408                android:layout_width="fill_parent"
409                android:layout_height="1dip"
410                android:layout_marginBottom="@dimen/horiz_rule_btm_margin"
411                android:layout_marginTop="@dimen/horiz_rule_top_margin"
412                android:layout_weight="1"
413                android:background="@color/horiz_rule_color" />
414
415            <TextView
416                android:id="@+id/color_effect_spinner_label"
417                android:layout_width="wrap_content"
418                android:layout_height="wrap_content"
419                android:layout_weight="1"
420                android:text="@string/color_effect_prompt"
421                android:textAppearance="?android:attr/textAppearanceSmall" />
422
423            <Spinner
424                android:id="@+id/color_effect_spinner"
425                android:layout_width="match_parent"
426                android:layout_height="wrap_content"
427                android:layout_weight="1" />
428
429
430        </LinearLayout>
431    </ScrollView>
432
433</LinearLayout>
434