Форум программистов, компьютерный форум, киберфорум
Наши страницы

AlertDialog Camera SurfaceView заниженная яркость в превью - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Ошибка в генерации файла .apk http://www.cyberforum.ru/android-dev/thread1538379.html
Во время генерации апк файла возниает ошибка! Как же её исправить? Вот лог ошибки: Error:A problem was found with the configuration of task ':app:packageRelease'. > File 'PasswordMaster' specified...
Программирование Android Что изучить для написание такого приложения? Здравствуй форум! Специалисты помогите с подбором литературы к изучению Андройд приложений. Суть приложения такова квесты только в реальном городе но с не реальными НПС видных на карте города и при... http://www.cyberforum.ru/android-dev/thread1538254.html
Ассоциировать расширение с программой (схема HTTP) Программирование Android
имеем желание открывать файлы с некоторым расширением нашей программой. в манифесте пишем <intent-filter> <action android:name="android.intent.action.VIEW" /> <category...
Как зашифровать данные на клиенте так, что бы на сервере их можно было расшифровать? Программирование Android
У меня есть TCP клиент под андроид на JAVA и TCP сервер windows С++. TCP протокол открытый. Я знаю есть библиотека java crypto и OPenSSL. Так вот я думаю как можно так зашифровать на андроид клиенте...
Программирование Android Infinity tween animation http://www.cyberforum.ru/android-dev/thread1538163.html
Добрый вечер. Есть ли что-то наподобие: android:oneshot="true/false" для твин анимации? Добавлено через 31 минуту android:repeatMode="reverse" android:repeatCount="infinite" ...
Программирование Android Appdf Уважаемые форумчане!При попытке построить appdf файл я столкнулся с такой штукой. Импортирую самостоятельно созданный по мануалу на github архив, он его загружает успешно, парсит description.xml,но... подробнее

Показать сообщение отдельно
iganshan
0 / 0 / 0
Регистрация: 09.11.2011
Сообщений: 17

AlertDialog Camera SurfaceView заниженная яркость в превью - Программирование Android

26.09.2015, 22:14. Просмотров 220. Ответов 0
Метки (Все метки)

AlertDialog Camera SurfaceView заниженная яркость в превью

Перенес работу с камерой в AlertDialog и получил низкую яркость изображения в превью, такое ощущение, что оно затемняется также, как и куски активити, находящиеся под диалогом.

Скриншот

Сами снимки имеют нормальную яркость, проблема только в превью.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
public class CameraDialogBuilder
        extends AlertDialog.Builder
        implements SurfaceHolder.Callback, View.OnClickListener, Camera.PictureCallback, Camera.PreviewCallback, Camera.AutoFocusCallback{
 
    public CameraDialogBuilder(final Context context) {
        super(context);
        LinearLayout linearLayout = createMainLayout(context);
        preview = new SurfaceView(context);
        linearLayout.addView(preview);
        surfaceHolder = preview.getHolder();
        surfaceHolder.addCallback(this);
        ClearCamera();
        camera = Camera.open();
        setView(linearLayout);
        setPositiveButton(android.R.string.cancel.OK, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
 
            }
        });
        setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
            }
        });
        d = create();
        d.show();
    }
 
    public void surfaceCreated(SurfaceHolder holder)    {
 
        if(camera==null){
            d.dismiss();
            return;
        }
        try
        {
            camera.setPreviewDisplay(holder);
            camera.setPreviewCallback(this);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
 
        Camera.Size previewSize = camera.getParameters().getPreviewSize();
        float aspect = (float) previewSize.width / previewSize.height;
        int previewSurfaceHeight = preview.getHeight();
        ViewGroup.LayoutParams lp = preview.getLayoutParams();
 
        camera.setDisplayOrientation(90);
        lp.height = previewSurfaceHeight;
        lp.width = (int) (previewSurfaceHeight / aspect);
        preview.setLayoutParams(lp);
        camera.startPreview();
    }
    private LinearLayout createMainLayout(Context context) {
        LinearLayout linearLayout = new LinearLayout(context);
        linearLayout.setGravity(Gravity.CENTER_HORIZONTAL);
        linearLayout.setOrientation(LinearLayout.VERTICAL);
        linearLayout.setMinimumHeight(getLinearLayoutMinHeight(context));
        linearLayout.setPadding(10,10,10,10);
        return linearLayout;
   }
}
открытие диалгоа в mainActivity

Java
1
CameraDialogBuilder cameraDialogBuilder=new CameraDialogBuilder(this).setCameraDialogListener(this);

Если SurfaceView разместить в активити, а не в диалоге, то этотже код не имеет проблем с яркостью превью. Помогите решить проблему.


Пробовал менять уровень затемнения, делать размытым задний фон, все это вообще не вносит никаких изменений.
// WindowManager.LayoutParams lp = d.getWindow().getAttributes();
// lp.dimAmount = 1.0f; // уровень затемнения пробовал 1.0 до 0
// lp.screenBrightness=1.0f;
// d.getWindow().setAttributes(lp);
// d.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

Добавлено через 6 часов 26 минут
Решение найдено - на затемнение превью камеры влияет затемнение бекграунда диалога.
Ошибка была в том, что я затемнение прописывал до dialog.show(), а нужно после.
Вот такая полумера.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.