Pentax DSLR Remote Control app.
Révision | 1bc0d751c285e64df361a5a9b824258d04a2fe33 (tree) |
---|---|
l'heure | 2019-02-16 23:06:47 |
Auteur | MRSa <mrsa@myad...> |
Commiter | MRSa |
カレンダーのところでプレビュー画像を入れてみた。
@@ -17,6 +17,7 @@ import androidx.core.app.ActivityCompat; | ||
17 | 17 | import androidx.core.content.ContextCompat; |
18 | 18 | import androidx.preference.PreferenceManager; |
19 | 19 | |
20 | +import android.os.Vibrator; | |
20 | 21 | import android.util.Log; |
21 | 22 | import android.view.MenuItem; |
22 | 23 | import android.view.View; |
@@ -79,13 +80,17 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe | ||
79 | 80 | { |
80 | 81 | super.onCreate(savedInstanceState); |
81 | 82 | setContentView(R.layout.activity_main); |
82 | - try { | |
83 | + try | |
84 | + { | |
83 | 85 | ActionBar bar = getSupportActionBar(); |
84 | - if (bar != null) { | |
86 | + if (bar != null) | |
87 | + { | |
85 | 88 | // タイトルバーは表示しない |
86 | 89 | bar.hide(); |
87 | 90 | } |
88 | - } catch (Exception e) { | |
91 | + } | |
92 | + catch (Exception e) | |
93 | + { | |
89 | 94 | e.printStackTrace(); |
90 | 95 | } |
91 | 96 | getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); |
@@ -122,7 +127,8 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe | ||
122 | 127 | * パーミッション設定が終わった後... |
123 | 128 | */ |
124 | 129 | @Override |
125 | - public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) { | |
130 | + public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) | |
131 | + { | |
126 | 132 | super.onRequestPermissionsResult(requestCode, permissions, grantResults); |
127 | 133 | prepareClass(); |
128 | 134 | onReadyClass(); |
@@ -133,11 +139,14 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe | ||
133 | 139 | */ |
134 | 140 | private void initializeClass() |
135 | 141 | { |
136 | - try { | |
142 | + try | |
143 | + { | |
137 | 144 | scenceUpdater = CameraSceneUpdater.newInstance(this); |
138 | 145 | interfaceProvider = CameraInterfaceProvider.newInstance(this, scenceUpdater, this); |
139 | 146 | scenceUpdater.changeFirstFragment(interfaceProvider); |
140 | - } catch (Exception e) { | |
147 | + } | |
148 | + catch (Exception e) | |
149 | + { | |
141 | 150 | e.printStackTrace(); |
142 | 151 | } |
143 | 152 | } |
@@ -145,10 +154,14 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe | ||
145 | 154 | /** |
146 | 155 | * 本クラスの準備 |
147 | 156 | */ |
148 | - private void prepareClass() { | |
149 | - try { | |
157 | + private void prepareClass() | |
158 | + { | |
159 | + try | |
160 | + { | |
150 | 161 | mImageConnectButton.setOnClickListener(this); |
151 | - } catch (Exception e) { | |
162 | + } | |
163 | + catch (Exception e) | |
164 | + { | |
152 | 165 | e.printStackTrace(); |
153 | 166 | } |
154 | 167 | } |
@@ -156,41 +169,74 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe | ||
156 | 169 | /** |
157 | 170 | * 初期化終了時の処理 (カメラへの自動接続) |
158 | 171 | */ |
159 | - private void onReadyClass() { | |
160 | - try { | |
172 | + private void onReadyClass() | |
173 | + { | |
174 | + try | |
175 | + { | |
161 | 176 | // カメラに自動接続するかどうか確認 |
162 | 177 | SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); |
163 | 178 | boolean isAutoConnectCamera = preferences.getBoolean(IPreferencePropertyAccessor.AUTO_CONNECT_TO_CAMERA, true); |
164 | 179 | Log.v(TAG, "isAutoConnectCamera() : " + isAutoConnectCamera); |
165 | 180 | |
166 | 181 | // カメラに接続する |
167 | - if (isAutoConnectCamera) { | |
182 | + if (isAutoConnectCamera) | |
183 | + { | |
168 | 184 | // 自動接続の指示があったとき |
169 | 185 | scenceUpdater.changeCameraConnection(); |
170 | 186 | } |
171 | - } catch (Exception e) { | |
187 | + } | |
188 | + catch (Exception e) | |
189 | + { | |
172 | 190 | e.printStackTrace(); |
173 | 191 | } |
174 | 192 | } |
175 | 193 | |
176 | 194 | @Override |
177 | - public void onClick(View v) { | |
178 | - try { | |
195 | + public void onClick(View v) | |
196 | + { | |
197 | + try | |
198 | + { | |
179 | 199 | int id = v.getId(); |
180 | - switch (id) { | |
200 | + switch (id) | |
201 | + { | |
181 | 202 | case R.id.button_wifi_connect: |
182 | 203 | // カメラとの接続を行う |
183 | 204 | scenceUpdater.changeCameraConnection(); |
205 | + vibrate(); | |
184 | 206 | break; |
185 | 207 | |
186 | 208 | default: |
187 | 209 | break; |
188 | 210 | } |
189 | - } catch (Exception e) { | |
211 | + } | |
212 | + catch (Exception e) | |
213 | + { | |
190 | 214 | e.printStackTrace(); |
191 | 215 | } |
192 | 216 | } |
193 | 217 | |
218 | + /** | |
219 | + * | |
220 | + * | |
221 | + */ | |
222 | + private void vibrate() | |
223 | + { | |
224 | + try { | |
225 | + Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); | |
226 | + if (vibrator != null) | |
227 | + { | |
228 | + vibrator.vibrate(50); | |
229 | + } | |
230 | + } | |
231 | + catch (Exception e) | |
232 | + { | |
233 | + e.printStackTrace(); | |
234 | + } | |
235 | + | |
236 | + | |
237 | + } | |
238 | + | |
239 | + | |
194 | 240 | @Override |
195 | 241 | public void updateMessage(final String message, final boolean isBold, final boolean isColor, final int color) |
196 | 242 | { |
@@ -2,6 +2,7 @@ package net.osdn.gokigen.pkremote.calendar; | ||
2 | 2 | |
3 | 3 | import android.app.Activity; |
4 | 4 | import android.content.Context; |
5 | +import android.graphics.Bitmap; | |
5 | 6 | import android.os.Bundle; |
6 | 7 | import android.os.Vibrator; |
7 | 8 | import android.text.format.DateUtils; |
@@ -13,6 +14,7 @@ import android.view.View; | ||
13 | 14 | import android.view.ViewGroup; |
14 | 15 | import android.widget.Button; |
15 | 16 | import android.widget.ImageButton; |
17 | +import android.widget.ImageView; | |
16 | 18 | import android.widget.TextView; |
17 | 19 | |
18 | 20 | import net.osdn.gokigen.pkremote.R; |
@@ -20,6 +22,8 @@ import net.osdn.gokigen.pkremote.camera.interfaces.IInterfaceProvider; | ||
20 | 22 | import net.osdn.gokigen.pkremote.camera.interfaces.playback.ICameraContent; |
21 | 23 | import net.osdn.gokigen.pkremote.camera.interfaces.playback.ICameraContentListCallback; |
22 | 24 | import net.osdn.gokigen.pkremote.camera.interfaces.playback.ICameraContentsRecognizer; |
25 | +import net.osdn.gokigen.pkremote.camera.interfaces.playback.IDownloadThumbnailImageCallback; | |
26 | +import net.osdn.gokigen.pkremote.camera.interfaces.playback.IPlaybackControl; | |
23 | 27 | import net.osdn.gokigen.pkremote.scene.IChangeScene; |
24 | 28 | |
25 | 29 | import java.text.DateFormat; |
@@ -31,25 +35,31 @@ import java.util.GregorianCalendar; | ||
31 | 35 | import java.util.HashMap; |
32 | 36 | import java.util.List; |
33 | 37 | import java.util.Locale; |
38 | +import java.util.Map; | |
34 | 39 | |
35 | 40 | import androidx.annotation.NonNull; |
36 | 41 | import androidx.appcompat.app.AppCompatActivity; |
42 | +import androidx.core.content.res.ResourcesCompat; | |
37 | 43 | import androidx.fragment.app.Fragment; |
38 | 44 | import androidx.fragment.app.FragmentManager; |
39 | 45 | |
40 | 46 | import static android.content.Context.VIBRATOR_SERVICE; |
41 | 47 | |
48 | +/** | |
49 | + * | |
50 | + * | |
51 | + * | |
52 | + */ | |
42 | 53 | public class CalendarFragment extends Fragment implements View.OnClickListener, TargetMonthSetDialog.Callback, ICameraContentsRecognizer.ICameraContentsListCallback |
43 | 54 | { |
44 | 55 | private final String TAG = this.toString(); |
45 | 56 | |
46 | 57 | private IInterfaceProvider interfaceProvider = null; |
47 | 58 | private IChangeScene changeScene = null; |
59 | + private AppCompatActivity activity = null; | |
48 | 60 | private boolean myViewCreated = false; |
49 | 61 | private View myView = null; |
50 | 62 | |
51 | - private Context context = null; | |
52 | - | |
53 | 63 | private int currentYear = 0; |
54 | 64 | private int currentMonth = 0; |
55 | 65 |
@@ -180,11 +190,11 @@ public class CalendarFragment extends Fragment implements View.OnClickListener, | ||
180 | 190 | /** |
181 | 191 | * |
182 | 192 | */ |
183 | - private void prepare(@NonNull AppCompatActivity context, IChangeScene sceneSelector, IInterfaceProvider interfaceProvider) | |
193 | + private void prepare(@NonNull AppCompatActivity activity, IChangeScene sceneSelector, IInterfaceProvider interfaceProvider) | |
184 | 194 | { |
185 | 195 | Log.v(TAG, "prepare()"); |
186 | 196 | |
187 | - this.context = context; | |
197 | + this.activity = activity; | |
188 | 198 | this.changeScene = sceneSelector; |
189 | 199 | this.interfaceProvider = interfaceProvider; |
190 | 200 | } |
@@ -244,6 +254,13 @@ public class CalendarFragment extends Fragment implements View.OnClickListener, | ||
244 | 254 | |
245 | 255 | // カレンダー上のボタンを準備する |
246 | 256 | prepareButtons(myView); |
257 | + | |
258 | + // 表示用の画像を取得する | |
259 | + ICameraContentsRecognizer recognizer = interfaceProvider.getCameraContentsRecognizer(); | |
260 | + if (recognizer != null) | |
261 | + { | |
262 | + recognizer.getRemoteCameraContentsList(true, this); | |
263 | + } | |
247 | 264 | } |
248 | 265 | catch (Exception e) |
249 | 266 | { |
@@ -252,7 +269,6 @@ public class CalendarFragment extends Fragment implements View.OnClickListener, | ||
252 | 269 | return (myView); |
253 | 270 | } |
254 | 271 | |
255 | - | |
256 | 272 | /** |
257 | 273 | * クリックされたときの処理 |
258 | 274 | */ |
@@ -261,20 +277,25 @@ public class CalendarFragment extends Fragment implements View.OnClickListener, | ||
261 | 277 | int id = v.getId(); |
262 | 278 | try |
263 | 279 | { |
280 | + boolean isUpdateImage = false; | |
281 | + | |
264 | 282 | // 日付を動かす処理 |
265 | 283 | if (id == R.id.todaySelectButton) |
266 | 284 | { |
267 | 285 | prepareLabels(myView); |
286 | + isUpdateImage = true; | |
268 | 287 | } |
269 | 288 | else if (id == R.id.showNextMonth) |
270 | 289 | { |
271 | 290 | currentMonth++; |
272 | 291 | setCalendarLabels(myView); |
292 | + isUpdateImage = true; | |
273 | 293 | } |
274 | 294 | else if (id == R.id.showPreviousMonth) |
275 | 295 | { |
276 | 296 | currentMonth--; |
277 | 297 | setCalendarLabels(myView); |
298 | + isUpdateImage = true; | |
278 | 299 | } |
279 | 300 | else if (id == R.id.showDayYear) |
280 | 301 | { |
@@ -287,6 +308,16 @@ public class CalendarFragment extends Fragment implements View.OnClickListener, | ||
287 | 308 | // 日付を選択した処理... 画面遷移 |
288 | 309 | Log.v(TAG, "onClick : " + id); |
289 | 310 | } |
311 | + | |
312 | + if (isUpdateImage) | |
313 | + { | |
314 | + // 表示用の画像を取得する | |
315 | + ICameraContentsRecognizer recognizer = interfaceProvider.getCameraContentsRecognizer(); | |
316 | + if (recognizer != null) | |
317 | + { | |
318 | + recognizer.getRemoteCameraContentsList(false, this); | |
319 | + } | |
320 | + } | |
290 | 321 | } |
291 | 322 | catch (Exception ex) |
292 | 323 | { |
@@ -315,7 +346,6 @@ public class CalendarFragment extends Fragment implements View.OnClickListener, | ||
315 | 346 | } |
316 | 347 | } |
317 | 348 | |
318 | - | |
319 | 349 | /** |
320 | 350 | * 月の動きボタンを移動させる |
321 | 351 | * |
@@ -340,8 +370,8 @@ public class CalendarFragment extends Fragment implements View.OnClickListener, | ||
340 | 370 | // カレンダー(画像)ボタン |
341 | 371 | for (int id : calendarList) |
342 | 372 | { |
343 | - btn = view.findViewById(id); | |
344 | - btn.setOnClickListener(this); | |
373 | + ImageButton imageBtn = view.findViewById(id); | |
374 | + imageBtn.setOnClickListener(this); | |
345 | 375 | } |
346 | 376 | } |
347 | 377 | catch (Exception e) |
@@ -367,13 +397,6 @@ public class CalendarFragment extends Fragment implements View.OnClickListener, | ||
367 | 397 | currentMonth = calendar.get(Calendar.MONTH) + 1; |
368 | 398 | |
369 | 399 | setCalendarLabels(view); |
370 | - | |
371 | - // 表示画像を取得する | |
372 | - ICameraContentsRecognizer recognizer = interfaceProvider.getCameraContentsRecognizer(); | |
373 | - if (recognizer != null) | |
374 | - { | |
375 | - recognizer.getRemoteCameraContentsList(true, this); | |
376 | - } | |
377 | 400 | } |
378 | 401 | catch (Exception e) |
379 | 402 | { |
@@ -486,22 +509,38 @@ public class CalendarFragment extends Fragment implements View.OnClickListener, | ||
486 | 509 | currentMonth = month; |
487 | 510 | |
488 | 511 | setCalendarLabels(myView); |
512 | + | |
513 | + // 表示用の画像を取得する | |
514 | + ICameraContentsRecognizer recognizer = interfaceProvider.getCameraContentsRecognizer(); | |
515 | + if (recognizer != null) | |
516 | + { | |
517 | + recognizer.getRemoteCameraContentsList(false, this); | |
518 | + } | |
489 | 519 | } |
490 | 520 | |
521 | + /** | |
522 | + * | |
523 | + * | |
524 | + * | |
525 | + */ | |
491 | 526 | @Override |
492 | 527 | public void dataSetCancelled() |
493 | 528 | { |
494 | 529 | Log.v(TAG, "dataSetCancelled"); |
495 | 530 | } |
496 | 531 | |
497 | - | |
532 | + /** | |
533 | + * | |
534 | + * | |
535 | + * | |
536 | + */ | |
498 | 537 | @Override |
499 | 538 | public void contentsListCreated(int nofContents) |
500 | 539 | { |
501 | 540 | Log.v(TAG, "contentsListCreated() : " + nofContents); |
502 | 541 | try |
503 | 542 | { |
504 | - SparseArray<ICameraContent> picsMap = new SparseArray<>(); | |
543 | + SparseArray<ICameraContent> imageMaps = new SparseArray<>(); | |
505 | 544 | ICameraContentsRecognizer recognizer = interfaceProvider.getCameraContentsRecognizer(); |
506 | 545 | if (recognizer != null) |
507 | 546 | { |
@@ -527,7 +566,7 @@ public class CalendarFragment extends Fragment implements View.OnClickListener, | ||
527 | 566 | if ((checkYear == picYear)&&(checkMonth == picMonth)&&(checkDate == picDate)) |
528 | 567 | { |
529 | 568 | // 日時一致...抜ける |
530 | - picsMap.append(calendarList.get(index), content); | |
569 | + imageMaps.append(calendarList.get(index), content); | |
531 | 570 | Log.v(TAG, "MATCHED : " + content.getContentPath() + "/" + content.getContentName()); |
532 | 571 | break; |
533 | 572 | } |
@@ -535,7 +574,87 @@ public class CalendarFragment extends Fragment implements View.OnClickListener, | ||
535 | 574 | // 一日進める |
536 | 575 | calendar.add(Calendar.DATE, 1); |
537 | 576 | } |
577 | + | |
578 | + // カレンダーに載せる画像の一覧ができた! | |
579 | + updateCalendarImages(imageMaps); | |
580 | + } | |
581 | + } | |
582 | + catch (Exception e) | |
583 | + { | |
584 | + e.printStackTrace(); | |
585 | + } | |
586 | + } | |
587 | + | |
588 | + /** | |
589 | + * | |
590 | + * | |
591 | + */ | |
592 | + private void updateCalendarImages(final SparseArray<ICameraContent> imageMaps) | |
593 | + { | |
594 | + try | |
595 | + { | |
596 | + if (interfaceProvider == null) | |
597 | + { | |
598 | + Log.v(TAG, "interfaceProvider is null..."); | |
599 | + return; | |
600 | + } | |
601 | + final IPlaybackControl playbackControl = interfaceProvider.getPlaybackControl(); | |
602 | + if (playbackControl == null) | |
603 | + { | |
604 | + Log.v(TAG, "getPlaybackControl is null..."); | |
605 | + return; | |
606 | + } | |
607 | + | |
608 | + if (imageMaps == null) | |
609 | + { | |
610 | + Log.v(TAG, "imageMaps is null..."); | |
611 | + return; | |
538 | 612 | } |
613 | + | |
614 | + if (activity == null) | |
615 | + { | |
616 | + Log.v(TAG, "Activity is null..."); | |
617 | + return; | |
618 | + } | |
619 | + final int targetYear = currentYear; | |
620 | + final int targetMonth = currentMonth; | |
621 | + Thread thread = new Thread(new Runnable() | |
622 | + { | |
623 | + @Override | |
624 | + public void run() { | |
625 | + int width = -1; | |
626 | + for (int id : calendarList) | |
627 | + { | |
628 | + try { | |
629 | + final ImageButton targetView = activity.findViewById(id); | |
630 | + final ICameraContent content = imageMaps.get(id); | |
631 | + width = (targetView != null) ? targetView.getWidth() : -1; | |
632 | + | |
633 | + activity.runOnUiThread(new Runnable() | |
634 | + { | |
635 | + @Override | |
636 | + public void run() | |
637 | + { | |
638 | + int drawableId = (content != null) ? R.drawable.ic_satellite_grey_24dp : R.drawable.ic_crop_original_grey_24dp; | |
639 | + if (targetView != null) | |
640 | + { | |
641 | + targetView.setImageDrawable(ResourcesCompat.getDrawable(activity.getResources(), drawableId, null)); | |
642 | + } | |
643 | + } | |
644 | + }); | |
645 | + } | |
646 | + catch (Exception e) | |
647 | + { | |
648 | + e.printStackTrace(); | |
649 | + } | |
650 | + } | |
651 | + for (int index = 0; index < imageMaps.size(); index++) | |
652 | + { | |
653 | + getImageThumbnail(playbackControl, imageMaps.keyAt(index), imageMaps.valueAt(index), targetYear, targetMonth, width); | |
654 | + } | |
655 | + } | |
656 | + }); | |
657 | + thread.start(); | |
539 | 658 | } |
540 | 659 | catch (Exception e) |
541 | 660 | { |
@@ -543,4 +662,61 @@ public class CalendarFragment extends Fragment implements View.OnClickListener, | ||
543 | 662 | } |
544 | 663 | } |
545 | 664 | |
665 | + /** | |
666 | + * | |
667 | + * | |
668 | + * | |
669 | + */ | |
670 | + private void getImageThumbnail(@NonNull IPlaybackControl playbackControl, final int id, @NonNull final ICameraContent content, final int targetYear, final int targetMonth, final int drawWidth) | |
671 | + { | |
672 | + try | |
673 | + { | |
674 | + final ImageButton targetView = activity.findViewById(id); | |
675 | + playbackControl.downloadContentThumbnail(content.getContentPath() + "/" + content.getContentName(), new IDownloadThumbnailImageCallback() { | |
676 | + @Override | |
677 | + public void onCompleted(final Bitmap bitmap, Map<String, Object> metadata) | |
678 | + { | |
679 | + if (activity != null) | |
680 | + { | |
681 | + activity.runOnUiThread(new Runnable() { | |
682 | + @Override | |
683 | + public void run() { | |
684 | + try { | |
685 | + if ((targetView != null)&&(currentYear == targetYear)&&(currentMonth == targetMonth)) | |
686 | + { | |
687 | + float width = drawWidth; | |
688 | + if (width < 0) | |
689 | + { | |
690 | + width = targetView.getWidth(); | |
691 | + } | |
692 | + float scale = width / (float) bitmap.getWidth(); | |
693 | + float height = (float) bitmap.getHeight() * scale; | |
694 | + targetView.setImageBitmap(Bitmap.createScaledBitmap(bitmap, (int) width, (int) height, false)); | |
695 | + } | |
696 | + else | |
697 | + { | |
698 | + Log.v(TAG, "" + currentYear + "(" + targetYear + ") " + currentMonth + "" + " [" + targetMonth + "]"); | |
699 | + } | |
700 | + } | |
701 | + catch (Exception e) | |
702 | + { | |
703 | + e.printStackTrace(); | |
704 | + } | |
705 | + } | |
706 | + }); | |
707 | + } | |
708 | + } | |
709 | + | |
710 | + @Override | |
711 | + public void onErrorOccurred(Exception e) | |
712 | + { | |
713 | + e.printStackTrace(); | |
714 | + } | |
715 | + }); | |
716 | + } | |
717 | + catch (Exception e) | |
718 | + { | |
719 | + e.printStackTrace(); | |
720 | + } | |
721 | + } | |
546 | 722 | } |
@@ -0,0 +1,5 @@ | ||
1 | +<vector android:height="24dp" android:tint="#C0C0C0" | |
2 | + android:viewportHeight="24.0" android:viewportWidth="24.0" | |
3 | + android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |
4 | + <path android:fillColor="#FF000000" android:pathData="M19,3L5,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM19,19L5,19L5,5h14v14zM13.96,12.29l-2.75,3.54 -1.96,-2.36L6.5,17h11l-3.54,-4.71z"/> | |
5 | +</vector> |
@@ -0,0 +1,5 @@ | ||
1 | +<vector android:height="24dp" android:tint="#C0C0C0" | |
2 | + android:viewportHeight="24.0" android:viewportWidth="24.0" | |
3 | + android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |
4 | + <path android:fillColor="#FF000000" android:pathData="M19,3L5,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM5,4.99h3C8,6.65 6.66,8 5,8L5,4.99zM5,12v-2c2.76,0 5,-2.25 5,-5.01h2C12,8.86 8.87,12 5,12zM5,18l3.5,-4.5 2.5,3.01L14.5,12l4.5,6L5,18z"/> | |
5 | +</vector> |
@@ -273,83 +273,90 @@ | ||
273 | 273 | style="?android:attr/buttonBarStyle" |
274 | 274 | android:layout_weight="2" |
275 | 275 | > |
276 | - <Button | |
276 | + <ImageButton | |
277 | 277 | android:id="@+id/Calendar00" |
278 | 278 | android:layout_width="wrap_content" |
279 | 279 | android:layout_height="fill_parent" |
280 | 280 | android:adjustViewBounds = "true" |
281 | 281 | android:scaleType="fitCenter" |
282 | 282 | android:layout_weight="1" |
283 | + android:contentDescription="@string/blank" | |
283 | 284 | android:textSize="8pt" |
284 | 285 | style="?android:attr/buttonBarButtonStyle" |
285 | 286 | > |
286 | - </Button> | |
287 | - <Button | |
287 | + </ImageButton> | |
288 | + <ImageButton | |
288 | 289 | android:id="@+id/Calendar01" |
289 | 290 | android:layout_width="wrap_content" |
290 | 291 | android:layout_height="fill_parent" |
291 | 292 | android:adjustViewBounds = "true" |
292 | 293 | android:scaleType="fitCenter" |
294 | + android:contentDescription="@string/blank" | |
293 | 295 | android:layout_weight="1" |
294 | 296 | android:textSize="8pt" |
295 | 297 | style="?android:attr/buttonBarButtonStyle" |
296 | 298 | > |
297 | - </Button> | |
298 | - <Button | |
299 | + </ImageButton> | |
300 | + <ImageButton | |
299 | 301 | android:id="@+id/Calendar02" |
300 | 302 | android:layout_width="wrap_content" |
301 | 303 | android:layout_height="fill_parent" |
302 | 304 | android:adjustViewBounds = "true" |
303 | 305 | android:scaleType="fitCenter" |
306 | + android:contentDescription="@string/blank" | |
304 | 307 | android:layout_weight="1" |
305 | 308 | android:textSize="8pt" |
306 | 309 | style="?android:attr/buttonBarButtonStyle" |
307 | 310 | > |
308 | - </Button> | |
309 | - <Button | |
311 | + </ImageButton> | |
312 | + <ImageButton | |
310 | 313 | android:id="@+id/Calendar03" |
311 | 314 | android:layout_width="wrap_content" |
312 | 315 | android:layout_height="fill_parent" |
313 | 316 | android:adjustViewBounds = "true" |
314 | 317 | android:scaleType="fitCenter" |
318 | + android:contentDescription="@string/blank" | |
315 | 319 | android:layout_weight="1" |
316 | 320 | android:textSize="8pt" |
317 | 321 | style="?android:attr/buttonBarButtonStyle" |
318 | 322 | > |
319 | - </Button> | |
320 | - <Button | |
323 | + </ImageButton> | |
324 | + <ImageButton | |
321 | 325 | android:id="@+id/Calendar04" |
322 | 326 | android:layout_width="wrap_content" |
323 | 327 | android:layout_height="fill_parent" |
324 | 328 | android:adjustViewBounds = "true" |
325 | 329 | android:scaleType="fitCenter" |
330 | + android:contentDescription="@string/blank" | |
326 | 331 | android:layout_weight="1" |
327 | 332 | android:textSize="8pt" |
328 | 333 | style="?android:attr/buttonBarButtonStyle" |
329 | 334 | > |
330 | - </Button> | |
331 | - <Button | |
335 | + </ImageButton> | |
336 | + <ImageButton | |
332 | 337 | android:id="@+id/Calendar05" |
333 | 338 | android:layout_width="wrap_content" |
334 | 339 | android:layout_height="fill_parent" |
335 | 340 | android:adjustViewBounds = "true" |
336 | 341 | android:scaleType="fitCenter" |
342 | + android:contentDescription="@string/blank" | |
337 | 343 | android:layout_weight="1" |
338 | 344 | android:textSize="8pt" |
339 | 345 | style="?android:attr/buttonBarButtonStyle" |
340 | 346 | > |
341 | - </Button> | |
342 | - <Button | |
347 | + </ImageButton> | |
348 | + <ImageButton | |
343 | 349 | android:id="@+id/Calendar06" |
344 | 350 | android:layout_width="wrap_content" |
345 | 351 | android:layout_height="fill_parent" |
346 | 352 | android:adjustViewBounds = "true" |
347 | 353 | android:scaleType="fitCenter" |
354 | + android:contentDescription="@string/blank" | |
348 | 355 | android:layout_weight="1" |
349 | 356 | android:textSize="8pt" |
350 | 357 | style="?android:attr/buttonBarButtonStyle" |
351 | 358 | > |
352 | - </Button> | |
359 | + </ImageButton> | |
353 | 360 | </LinearLayout> |
354 | 361 | |
355 | 362 | <LinearLayout |
@@ -462,83 +469,90 @@ | ||
462 | 469 | style="?android:attr/buttonBarStyle" |
463 | 470 | android:layout_weight="2" |
464 | 471 | > |
465 | - <Button | |
472 | + <ImageButton | |
466 | 473 | android:id="@+id/Calendar10" |
467 | 474 | android:layout_width="wrap_content" |
468 | 475 | android:layout_height="fill_parent" |
469 | 476 | android:adjustViewBounds = "true" |
470 | 477 | android:scaleType="fitCenter" |
478 | + android:contentDescription="@string/blank" | |
471 | 479 | android:layout_weight="1" |
472 | 480 | android:textSize="8pt" |
473 | 481 | style="?android:attr/buttonBarButtonStyle" |
474 | 482 | > |
475 | - </Button> | |
476 | - <Button | |
483 | + </ImageButton> | |
484 | + <ImageButton | |
477 | 485 | android:id="@+id/Calendar11" |
478 | 486 | android:layout_width="wrap_content" |
479 | 487 | android:layout_height="fill_parent" |
480 | 488 | android:adjustViewBounds = "true" |
481 | 489 | android:scaleType="fitCenter" |
490 | + android:contentDescription="@string/blank" | |
482 | 491 | android:layout_weight="1" |
483 | 492 | android:textSize="8pt" |
484 | 493 | style="?android:attr/buttonBarButtonStyle" |
485 | 494 | > |
486 | - </Button> | |
487 | - <Button | |
495 | + </ImageButton> | |
496 | + <ImageButton | |
488 | 497 | android:id="@+id/Calendar12" |
489 | 498 | android:layout_width="wrap_content" |
490 | 499 | android:layout_height="fill_parent" |
491 | 500 | android:adjustViewBounds = "true" |
492 | 501 | android:scaleType="fitCenter" |
502 | + android:contentDescription="@string/blank" | |
493 | 503 | android:layout_weight="1" |
494 | 504 | android:textSize="8pt" |
495 | 505 | style="?android:attr/buttonBarButtonStyle" |
496 | 506 | > |
497 | - </Button> | |
498 | - <Button | |
507 | + </ImageButton> | |
508 | + <ImageButton | |
499 | 509 | android:id="@+id/Calendar13" |
500 | 510 | android:layout_width="wrap_content" |
501 | 511 | android:layout_height="fill_parent" |
502 | 512 | android:adjustViewBounds = "true" |
503 | 513 | android:scaleType="fitCenter" |
514 | + android:contentDescription="@string/blank" | |
504 | 515 | android:layout_weight="1" |
505 | 516 | android:textSize="8pt" |
506 | 517 | style="?android:attr/buttonBarButtonStyle" |
507 | 518 | > |
508 | - </Button> | |
509 | - <Button | |
519 | + </ImageButton> | |
520 | + <ImageButton | |
510 | 521 | android:id="@+id/Calendar14" |
511 | 522 | android:layout_width="wrap_content" |
512 | 523 | android:layout_height="fill_parent" |
513 | 524 | android:adjustViewBounds = "true" |
514 | 525 | android:scaleType="fitCenter" |
526 | + android:contentDescription="@string/blank" | |
515 | 527 | android:layout_weight="1" |
516 | 528 | android:textSize="8pt" |
517 | 529 | style="?android:attr/buttonBarButtonStyle" |
518 | 530 | > |
519 | - </Button> | |
520 | - <Button | |
531 | + </ImageButton> | |
532 | + <ImageButton | |
521 | 533 | android:id="@+id/Calendar15" |
522 | 534 | android:layout_width="wrap_content" |
523 | 535 | android:layout_height="fill_parent" |
524 | 536 | android:adjustViewBounds = "true" |
525 | 537 | android:scaleType="fitCenter" |
538 | + android:contentDescription="@string/blank" | |
526 | 539 | android:layout_weight="1" |
527 | 540 | android:textSize="8pt" |
528 | 541 | style="?android:attr/buttonBarButtonStyle" |
529 | 542 | > |
530 | - </Button> | |
531 | - <Button | |
543 | + </ImageButton> | |
544 | + <ImageButton | |
532 | 545 | android:id="@+id/Calendar16" |
533 | 546 | android:layout_width="wrap_content" |
534 | 547 | android:layout_height="fill_parent" |
535 | 548 | android:adjustViewBounds = "true" |
536 | 549 | android:scaleType="fitCenter" |
550 | + android:contentDescription="@string/blank" | |
537 | 551 | android:layout_weight="1" |
538 | 552 | android:textSize="8pt" |
539 | 553 | style="?android:attr/buttonBarButtonStyle" |
540 | 554 | > |
541 | - </Button> | |
555 | + </ImageButton> | |
542 | 556 | </LinearLayout> |
543 | 557 | |
544 | 558 | <LinearLayout |
@@ -651,83 +665,90 @@ | ||
651 | 665 | style="?android:attr/buttonBarStyle" |
652 | 666 | android:layout_weight="2" |
653 | 667 | > |
654 | - <Button | |
668 | + <ImageButton | |
655 | 669 | android:id="@+id/Calendar20" |
656 | 670 | android:layout_width="wrap_content" |
657 | 671 | android:layout_height="fill_parent" |
658 | 672 | android:adjustViewBounds = "true" |
659 | 673 | android:scaleType="fitCenter" |
674 | + android:contentDescription="@string/blank" | |
660 | 675 | android:layout_weight="1" |
661 | 676 | android:textSize="8pt" |
662 | 677 | style="?android:attr/buttonBarButtonStyle" |
663 | 678 | > |
664 | - </Button> | |
665 | - <Button | |
679 | + </ImageButton> | |
680 | + <ImageButton | |
666 | 681 | android:id="@+id/Calendar21" |
667 | 682 | android:layout_width="wrap_content" |
668 | 683 | android:layout_height="fill_parent" |
669 | 684 | android:adjustViewBounds = "true" |
670 | 685 | android:scaleType="fitCenter" |
686 | + android:contentDescription="@string/blank" | |
671 | 687 | android:layout_weight="1" |
672 | 688 | android:textSize="8pt" |
673 | 689 | style="?android:attr/buttonBarButtonStyle" |
674 | 690 | > |
675 | - </Button> | |
676 | - <Button | |
691 | + </ImageButton> | |
692 | + <ImageButton | |
677 | 693 | android:id="@+id/Calendar22" |
678 | 694 | android:layout_width="wrap_content" |
679 | 695 | android:layout_height="fill_parent" |
680 | 696 | android:adjustViewBounds = "true" |
681 | 697 | android:scaleType="fitCenter" |
698 | + android:contentDescription="@string/blank" | |
682 | 699 | android:layout_weight="1" |
683 | 700 | android:textSize="8pt" |
684 | 701 | style="?android:attr/buttonBarButtonStyle" |
685 | 702 | > |
686 | - </Button> | |
687 | - <Button | |
703 | + </ImageButton> | |
704 | + <ImageButton | |
688 | 705 | android:id="@+id/Calendar23" |
689 | 706 | android:layout_width="wrap_content" |
690 | 707 | android:layout_height="fill_parent" |
691 | 708 | android:adjustViewBounds = "true" |
692 | 709 | android:scaleType="fitCenter" |
710 | + android:contentDescription="@string/blank" | |
693 | 711 | android:layout_weight="1" |
694 | 712 | android:textSize="8pt" |
695 | 713 | style="?android:attr/buttonBarButtonStyle" |
696 | 714 | > |
697 | - </Button> | |
698 | - <Button | |
715 | + </ImageButton> | |
716 | + <ImageButton | |
699 | 717 | android:id="@+id/Calendar24" |
700 | 718 | android:layout_width="wrap_content" |
701 | 719 | android:layout_height="fill_parent" |
702 | 720 | android:adjustViewBounds = "true" |
703 | 721 | android:scaleType="fitCenter" |
722 | + android:contentDescription="@string/blank" | |
704 | 723 | android:layout_weight="1" |
705 | 724 | android:textSize="8pt" |
706 | 725 | style="?android:attr/buttonBarButtonStyle" |
707 | 726 | > |
708 | - </Button> | |
709 | - <Button | |
727 | + </ImageButton> | |
728 | + <ImageButton | |
710 | 729 | android:id="@+id/Calendar25" |
711 | 730 | android:layout_width="wrap_content" |
712 | 731 | android:layout_height="fill_parent" |
713 | 732 | android:adjustViewBounds = "true" |
714 | 733 | android:scaleType="fitCenter" |
734 | + android:contentDescription="@string/blank" | |
715 | 735 | android:layout_weight="1" |
716 | 736 | android:textSize="8pt" |
717 | 737 | style="?android:attr/buttonBarButtonStyle" |
718 | 738 | > |
719 | - </Button> | |
720 | - <Button | |
739 | + </ImageButton> | |
740 | + <ImageButton | |
721 | 741 | android:id="@+id/Calendar26" |
722 | 742 | android:layout_width="wrap_content" |
723 | 743 | android:layout_height="fill_parent" |
724 | 744 | android:adjustViewBounds = "true" |
725 | 745 | android:scaleType="fitCenter" |
746 | + android:contentDescription="@string/blank" | |
726 | 747 | android:layout_weight="1" |
727 | 748 | android:textSize="8pt" |
728 | 749 | style="?android:attr/buttonBarButtonStyle" |
729 | 750 | > |
730 | - </Button> | |
751 | + </ImageButton> | |
731 | 752 | </LinearLayout> |
732 | 753 | |
733 | 754 | <LinearLayout |
@@ -840,83 +861,90 @@ | ||
840 | 861 | style="?android:attr/buttonBarStyle" |
841 | 862 | android:layout_weight="2" |
842 | 863 | > |
843 | - <Button | |
864 | + <ImageButton | |
844 | 865 | android:id="@+id/Calendar30" |
845 | 866 | android:layout_width="wrap_content" |
846 | 867 | android:layout_height="fill_parent" |
847 | 868 | android:adjustViewBounds = "true" |
848 | 869 | android:scaleType="fitCenter" |
870 | + android:contentDescription="@string/blank" | |
849 | 871 | android:layout_weight="1" |
850 | 872 | android:textSize="8pt" |
851 | 873 | style="?android:attr/buttonBarButtonStyle" |
852 | 874 | > |
853 | - </Button> | |
854 | - <Button | |
875 | + </ImageButton> | |
876 | + <ImageButton | |
855 | 877 | android:id="@+id/Calendar31" |
856 | 878 | android:layout_width="wrap_content" |
857 | 879 | android:layout_height="fill_parent" |
858 | 880 | android:adjustViewBounds = "true" |
859 | 881 | android:scaleType="fitCenter" |
882 | + android:contentDescription="@string/blank" | |
860 | 883 | android:layout_weight="1" |
861 | 884 | android:textSize="8pt" |
862 | 885 | style="?android:attr/buttonBarButtonStyle" |
863 | 886 | > |
864 | - </Button> | |
865 | - <Button | |
887 | + </ImageButton> | |
888 | + <ImageButton | |
866 | 889 | android:id="@+id/Calendar32" |
867 | 890 | android:layout_width="wrap_content" |
868 | 891 | android:layout_height="fill_parent" |
869 | 892 | android:adjustViewBounds = "true" |
870 | 893 | android:scaleType="fitCenter" |
894 | + android:contentDescription="@string/blank" | |
871 | 895 | android:layout_weight="1" |
872 | 896 | android:textSize="8pt" |
873 | 897 | style="?android:attr/buttonBarButtonStyle" |
874 | 898 | > |
875 | - </Button> | |
876 | - <Button | |
899 | + </ImageButton> | |
900 | + <ImageButton | |
877 | 901 | android:id="@+id/Calendar33" |
878 | 902 | android:layout_width="wrap_content" |
879 | 903 | android:layout_height="fill_parent" |
880 | 904 | android:adjustViewBounds = "true" |
881 | 905 | android:scaleType="fitCenter" |
906 | + android:contentDescription="@string/blank" | |
882 | 907 | android:layout_weight="1" |
883 | 908 | android:textSize="8pt" |
884 | 909 | style="?android:attr/buttonBarButtonStyle" |
885 | 910 | > |
886 | - </Button> | |
887 | - <Button | |
911 | + </ImageButton> | |
912 | + <ImageButton | |
888 | 913 | android:id="@+id/Calendar34" |
889 | 914 | android:layout_width="wrap_content" |
890 | 915 | android:layout_height="fill_parent" |
891 | 916 | android:adjustViewBounds = "true" |
892 | 917 | android:scaleType="fitCenter" |
918 | + android:contentDescription="@string/blank" | |
893 | 919 | android:layout_weight="1" |
894 | 920 | android:textSize="8pt" |
895 | 921 | style="?android:attr/buttonBarButtonStyle" |
896 | 922 | > |
897 | - </Button> | |
898 | - <Button | |
923 | + </ImageButton> | |
924 | + <ImageButton | |
899 | 925 | android:id="@+id/Calendar35" |
900 | 926 | android:layout_width="wrap_content" |
901 | 927 | android:layout_height="fill_parent" |
902 | 928 | android:adjustViewBounds = "true" |
903 | 929 | android:scaleType="fitCenter" |
930 | + android:contentDescription="@string/blank" | |
904 | 931 | android:layout_weight="1" |
905 | 932 | android:textSize="8pt" |
906 | 933 | style="?android:attr/buttonBarButtonStyle" |
907 | 934 | > |
908 | - </Button> | |
909 | - <Button | |
935 | + </ImageButton> | |
936 | + <ImageButton | |
910 | 937 | android:id="@+id/Calendar36" |
911 | 938 | android:layout_width="wrap_content" |
912 | 939 | android:layout_height="fill_parent" |
913 | 940 | android:adjustViewBounds = "true" |
914 | 941 | android:scaleType="fitCenter" |
942 | + android:contentDescription="@string/blank" | |
915 | 943 | android:layout_weight="1" |
916 | 944 | android:textSize="8pt" |
917 | 945 | style="?android:attr/buttonBarButtonStyle" |
918 | 946 | > |
919 | - </Button> | |
947 | + </ImageButton> | |
920 | 948 | </LinearLayout> |
921 | 949 | |
922 | 950 | <LinearLayout |
@@ -1030,83 +1058,90 @@ | ||
1030 | 1058 | style="?android:attr/buttonBarStyle" |
1031 | 1059 | android:layout_weight="2" |
1032 | 1060 | > |
1033 | - <Button | |
1061 | + <ImageButton | |
1034 | 1062 | android:id="@+id/Calendar40" |
1035 | 1063 | android:layout_width="wrap_content" |
1036 | 1064 | android:layout_height="fill_parent" |
1037 | 1065 | android:adjustViewBounds = "true" |
1038 | 1066 | android:scaleType="fitCenter" |
1067 | + android:contentDescription="@string/blank" | |
1039 | 1068 | android:layout_weight="1" |
1040 | 1069 | android:textSize="8pt" |
1041 | 1070 | style="?android:attr/buttonBarButtonStyle" |
1042 | 1071 | > |
1043 | - </Button> | |
1044 | - <Button | |
1072 | + </ImageButton> | |
1073 | + <ImageButton | |
1045 | 1074 | android:id="@+id/Calendar41" |
1046 | 1075 | android:layout_width="wrap_content" |
1047 | 1076 | android:layout_height="fill_parent" |
1048 | 1077 | android:adjustViewBounds = "true" |
1049 | 1078 | android:scaleType="fitCenter" |
1079 | + android:contentDescription="@string/blank" | |
1050 | 1080 | android:layout_weight="1" |
1051 | 1081 | android:textSize="8pt" |
1052 | 1082 | style="?android:attr/buttonBarButtonStyle" |
1053 | 1083 | > |
1054 | - </Button> | |
1055 | - <Button | |
1084 | + </ImageButton> | |
1085 | + <ImageButton | |
1056 | 1086 | android:id="@+id/Calendar42" |
1057 | 1087 | android:layout_width="wrap_content" |
1058 | 1088 | android:layout_height="fill_parent" |
1059 | 1089 | android:adjustViewBounds = "true" |
1060 | 1090 | android:scaleType="fitCenter" |
1091 | + android:contentDescription="@string/blank" | |
1061 | 1092 | android:layout_weight="1" |
1062 | 1093 | android:textSize="8pt" |
1063 | 1094 | style="?android:attr/buttonBarButtonStyle" |
1064 | 1095 | > |
1065 | - </Button> | |
1066 | - <Button | |
1096 | + </ImageButton> | |
1097 | + <ImageButton | |
1067 | 1098 | android:id="@+id/Calendar43" |
1068 | 1099 | android:layout_width="wrap_content" |
1069 | 1100 | android:layout_height="fill_parent" |
1070 | 1101 | android:adjustViewBounds = "true" |
1071 | 1102 | android:scaleType="fitCenter" |
1103 | + android:contentDescription="@string/blank" | |
1072 | 1104 | android:layout_weight="1" |
1073 | 1105 | android:textSize="8pt" |
1074 | 1106 | style="?android:attr/buttonBarButtonStyle" |
1075 | 1107 | > |
1076 | - </Button> | |
1077 | - <Button | |
1108 | + </ImageButton> | |
1109 | + <ImageButton | |
1078 | 1110 | android:id="@+id/Calendar44" |
1079 | 1111 | android:layout_width="wrap_content" |
1080 | 1112 | android:layout_height="fill_parent" |
1081 | 1113 | android:adjustViewBounds = "true" |
1082 | 1114 | android:scaleType="fitCenter" |
1115 | + android:contentDescription="@string/blank" | |
1083 | 1116 | android:layout_weight="1" |
1084 | 1117 | android:textSize="8pt" |
1085 | 1118 | style="?android:attr/buttonBarButtonStyle" |
1086 | 1119 | > |
1087 | - </Button> | |
1088 | - <Button | |
1120 | + </ImageButton> | |
1121 | + <ImageButton | |
1089 | 1122 | android:id="@+id/Calendar45" |
1090 | 1123 | android:layout_width="wrap_content" |
1091 | 1124 | android:layout_height="fill_parent" |
1092 | 1125 | android:adjustViewBounds = "true" |
1093 | 1126 | android:scaleType="fitCenter" |
1127 | + android:contentDescription="@string/blank" | |
1094 | 1128 | android:layout_weight="1" |
1095 | 1129 | android:textSize="8pt" |
1096 | 1130 | style="?android:attr/buttonBarButtonStyle" |
1097 | 1131 | > |
1098 | - </Button> | |
1099 | - <Button | |
1132 | + </ImageButton> | |
1133 | + <ImageButton | |
1100 | 1134 | android:id="@+id/Calendar46" |
1101 | 1135 | android:layout_width="wrap_content" |
1102 | 1136 | android:layout_height="fill_parent" |
1103 | 1137 | android:adjustViewBounds = "true" |
1104 | 1138 | android:scaleType="fitCenter" |
1139 | + android:contentDescription="@string/blank" | |
1105 | 1140 | android:layout_weight="1" |
1106 | 1141 | android:textSize="8pt" |
1107 | 1142 | style="?android:attr/buttonBarButtonStyle" |
1108 | 1143 | > |
1109 | - </Button> | |
1144 | + </ImageButton> | |
1110 | 1145 | </LinearLayout> |
1111 | 1146 | |
1112 | 1147 | <LinearLayout |
@@ -1219,83 +1254,90 @@ | ||
1219 | 1254 | style="?android:attr/buttonBarStyle" |
1220 | 1255 | android:layout_weight="2" |
1221 | 1256 | > |
1222 | - <Button | |
1257 | + <ImageButton | |
1223 | 1258 | android:id="@+id/Calendar50" |
1224 | 1259 | android:layout_width="wrap_content" |
1225 | 1260 | android:layout_height="fill_parent" |
1226 | 1261 | android:adjustViewBounds = "true" |
1227 | 1262 | android:scaleType="fitCenter" |
1263 | + android:contentDescription="@string/blank" | |
1228 | 1264 | android:layout_weight="1" |
1229 | 1265 | android:textSize="8pt" |
1230 | 1266 | style="?android:attr/buttonBarButtonStyle" |
1231 | 1267 | > |
1232 | - </Button> | |
1233 | - <Button | |
1268 | + </ImageButton> | |
1269 | + <ImageButton | |
1234 | 1270 | android:id="@+id/Calendar51" |
1235 | 1271 | android:layout_width="wrap_content" |
1236 | 1272 | android:layout_height="fill_parent" |
1237 | 1273 | android:adjustViewBounds = "true" |
1238 | 1274 | android:scaleType="fitCenter" |
1275 | + android:contentDescription="@string/blank" | |
1239 | 1276 | android:layout_weight="1" |
1240 | 1277 | android:textSize="8pt" |
1241 | 1278 | style="?android:attr/buttonBarButtonStyle" |
1242 | 1279 | > |
1243 | - </Button> | |
1244 | - <Button | |
1280 | + </ImageButton> | |
1281 | + <ImageButton | |
1245 | 1282 | android:id="@+id/Calendar52" |
1246 | 1283 | android:layout_width="wrap_content" |
1247 | 1284 | android:layout_height="fill_parent" |
1248 | 1285 | android:adjustViewBounds = "true" |
1249 | 1286 | android:scaleType="fitCenter" |
1287 | + android:contentDescription="@string/blank" | |
1250 | 1288 | android:layout_weight="1" |
1251 | 1289 | android:textSize="8pt" |
1252 | 1290 | style="?android:attr/buttonBarButtonStyle" |
1253 | 1291 | > |
1254 | - </Button> | |
1255 | - <Button | |
1292 | + </ImageButton> | |
1293 | + <ImageButton | |
1256 | 1294 | android:id="@+id/Calendar53" |
1257 | 1295 | android:layout_width="wrap_content" |
1258 | 1296 | android:layout_height="fill_parent" |
1259 | 1297 | android:adjustViewBounds = "true" |
1260 | 1298 | android:scaleType="fitCenter" |
1299 | + android:contentDescription="@string/blank" | |
1261 | 1300 | android:layout_weight="1" |
1262 | 1301 | android:textSize="8pt" |
1263 | 1302 | style="?android:attr/buttonBarButtonStyle" |
1264 | 1303 | > |
1265 | - </Button> | |
1266 | - <Button | |
1304 | + </ImageButton> | |
1305 | + <ImageButton | |
1267 | 1306 | android:id="@+id/Calendar54" |
1268 | 1307 | android:layout_width="wrap_content" |
1269 | 1308 | android:layout_height="fill_parent" |
1270 | 1309 | android:adjustViewBounds = "true" |
1271 | 1310 | android:scaleType="fitCenter" |
1311 | + android:contentDescription="@string/blank" | |
1272 | 1312 | android:layout_weight="1" |
1273 | 1313 | android:textSize="8pt" |
1274 | 1314 | style="?android:attr/buttonBarButtonStyle" |
1275 | 1315 | > |
1276 | - </Button> | |
1277 | - <Button | |
1316 | + </ImageButton> | |
1317 | + <ImageButton | |
1278 | 1318 | android:id="@+id/Calendar55" |
1279 | 1319 | android:layout_width="wrap_content" |
1280 | 1320 | android:layout_height="fill_parent" |
1281 | 1321 | android:adjustViewBounds = "true" |
1282 | 1322 | android:scaleType="fitCenter" |
1323 | + android:contentDescription="@string/blank" | |
1283 | 1324 | android:layout_weight="1" |
1284 | 1325 | android:textSize="8pt" |
1285 | 1326 | style="?android:attr/buttonBarButtonStyle" |
1286 | 1327 | > |
1287 | - </Button> | |
1288 | - <Button | |
1328 | + </ImageButton> | |
1329 | + <ImageButton | |
1289 | 1330 | android:id="@+id/Calendar56" |
1290 | 1331 | android:layout_width="wrap_content" |
1291 | 1332 | android:layout_height="fill_parent" |
1292 | 1333 | android:adjustViewBounds = "true" |
1293 | 1334 | android:scaleType="fitCenter" |
1335 | + android:contentDescription="@string/blank" | |
1294 | 1336 | android:layout_weight="1" |
1295 | 1337 | android:textSize="8pt" |
1296 | 1338 | style="?android:attr/buttonBarButtonStyle" |
1297 | 1339 | > |
1298 | - </Button> | |
1340 | + </ImageButton> | |
1299 | 1341 | </LinearLayout> |
1300 | 1342 | </LinearLayout> |
1301 | 1343 | </ScrollView> |