Проблема центрирования растрового изображения в ImageView

У меня есть ImageView (image_view) в xml, и у меня есть гравитация макета, установленная в центр, и масштаб, установленный в center_inside.... но когда я передаю сжатый bmp в image_view, он помещает его в середине слева от экран (в портретном режиме) ... есть идеи по обходному пути?

вот я устанавливаю его для просмотра изображения:

        ImageView imageView = (ImageView) findViewById(R.id.image_view);

        imageView.setImageBitmap(bitmap565);

Я также сжимаю его в выходном потоке:

        try {
            FileOutputStream fos = new FileOutputStream(filepath);

            bitmap565.compress(CompressFormat.JPEG, 90, fos);

            fos.flush();
            fos.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

Спасибо всем!

    <ImageButton android:id="@+id/ImageButton01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/results" android:layout_gravity="top|center"></ImageButton><ImageView
            android:screenOrientation="portrait"
            android:layout_width="fill_parent"
            android:id="@+id/image_view"
            android:layout_gravity="center" android:layout_weight="1.0" android:layout_height="wrap_content" android:scaleType="centerInside"/>

    <Button
            android:screenOrientation="portrait"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal" android:layout_width="fill_parent" android:textStyle="bold" android:id="@+id/detect_face" android:text="Detect"/>


person Sapp    schedule 18.11.2010    source источник
comment
вставьте макет XML, пожалуйста.   -  person Cristian    schedule 18.11.2010
comment
отредактировано - извините за плохое форматирование   -  person Sapp    schedule 18.11.2010
comment
не могли бы вы выложить полный макет? Или, по крайней мере, все его родители? Между прочим, у ImageViews нет гравитации.   -  person Timo Ohr    schedule 19.11.2010


Ответы (2)


вы можете решить свою проблему, просто используя FrameLayout.

<сильный>

person Community    schedule 19.11.2010

Для layout_width вашего ImageView установлено значение fill_parent, поэтому layout_gravity не повлияет на его горизонтальное положение внутри родителя. Попробуйте использовать gravity вместо layout_gravity или wrap_content вместо fill_parent.

person Reuben Scratton    schedule 18.11.2010
comment
Эй, я пытался, но он все еще отображается слева от центра. Я заставляю приложение работать в книжной, а не в альбомной ориентации. Как вы думаете, это проблема? - person Sapp; 19.11.2010
comment
Что является контейнером этих представлений? Также должно быть layout_width=fill_parent. - person Reuben Scratton; 19.11.2010