Я работаю над Image Zooming. Все в порядке. Я пытаюсь отобразить матричное изображение в центре макета. Но я не в состоянии это сделать.Android: Невозможно разместить матричное изображение в центре экрана?
Мой XML является:
<FrameLayout
android:id="@+id/root1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/root"
>
<ImageView
android:id="@+id/img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:scaleType="matrix"
android:src="@drawable/ic_launcher" >
</ImageView>
</FrameLayout>
И я использовал это решение от переполнения стека, но я не получаю центр помещается изображение. Изображение выравнивается в верхнем левом углу экрана. Пожалуйста, помогите мне.
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
screenWidth = rel.getWidth();
screenHeight = rel.getHeight();
Log.e("",
"Image Width : " + image.getWidth() + " > "
+ image.getHeight());
Log.e("", "screen Width : " + screenWidth + " > " + screenHeight);
Matrix matrix = image.getImageMatrix();
RectF drawableRect = new RectF(0, 0, image.getWidth(),
image.getHeight());
RectF viewRect = new RectF(0, 0, screenWidth, screenHeight);
matrix.setRectToRect(drawableRect, viewRect, Matrix.ScaleToFit.CENTER);
image.setImageMatrix(matrix);
image.invalidate();
}
Любой причину вы не используя «RelativeLayout»? –
Я также использовал Relative layout, но не получил результат. @ XaverKapeller –
И проблема не в позиции «ImageView», а в ее размере. Вы установили его высоту и ширину в 'match_parent', что делает« ImageView »размером с макет, содержащий его. Вместо этого попробуйте 'wrap_content'. –