Я использую одно действие и несколько фрагментов в своем приложении для Android.Пользователь может делать снимки и редактировать их с помощью некоторых основных инструментов рисования.
Фрагмент редактирования изображения содержит три элемента:
- вертикальный линейный макет с инструментами рисования (слева от родителей)
- горизонтальный линейный макет с палитрами цветов (внизу родителей)
- макет кадра, который содержит изображение и холст (для рисования).
У меня проблема в том, что изображение всегда обрезается.Когда я устанавливаю фиксированную высоту и ширину для изображения (то есть по 500 точек на дюйм), изображение отображается полностью.Когда я устанавливаю высоту и ширину для match_parent, изображение обрезается.
Активность:
<?xml version="1.0" encoding="utf-8"?>
<!-- This LinearLayout represents the contents of the screen -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- The ActionBar displayed at the top -->
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:fitsSystemWindows="true"
android:minHeight="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:background="?attr/colorPrimaryDark">
</android.support.v7.widget.Toolbar>
<!-- The main content view where fragments are loaded -->
<FrameLayout
android:id="@+id/main_frame_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
<!-- The navigation drawer that comes from the left -->
<!-- Note that `android:layout_gravity` needs to be set to 'start' -->
<!-- app:itemBackground="@drawable/drawer_item_background"-->
<android.support.design.widget.NavigationView
android:id="@+id/main_navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@android:color/white"
app:itemBackground="@android:color/white"
app:headerLayout="@layout/main_navigation_view_header"
app:menu="@menu/main_menu">
</android.support.design.widget.NavigationView>
Фрагмент (Я удалил некоторые элементы, которые не важны для проблемы):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:background="@color/background_zeichnen"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/zeichnen_frame_layout"
android:layout_toRightOf="@id/zeichnen_tools_bar"
android:layout_above="@id/zeichnen_color_bar"
android:layout_height="match_parent"
android:layout_width="match_parent">
<ImageView
android:id="@+id/zeichnen_image_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY" />
</FrameLayout>
<LinearLayout
android:id="@+id/zeichnen_tools_bar"
android:layout_alignParentLeft="true"
android:layout_width="50dp"
android:layout_height="match_parent"
android:background="@color/background_zeichnen"
android:visibility="visible"
android:orientation="vertical">
<include
layout="@layout/zeichnen_werkzeugauswahl"/>
</LinearLayout>
<LinearLayout
android:id="@+id/zeichnen_color_bar"
android:layout_toRightOf="@id/zeichnen_tools_bar"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/background_zeichnen"
android:orientation="horizontal">
<include layout="@layout/zeichnen_farbauswahl" />
</LinearLayout>
Пожалуйста, посмотрите на связанные изображения для лучшего понимания:
Вся картинка Фрагмент вида
В чем может быть причина такого поведения?Как я могу предотвратить обрезку изображения?
С уважением
Питер