2016-08-21 2 views
0

, что моя проблема в относительной верстке:Scale весь макет андроид

  1. У меня есть некоторые представления изображения, что какая-то часть каждого ImageView находится вне дисплея с отрицательным краем.
  2. Я проектирую этот макет в размере дисплея, который показан в левой части , и все в порядке.
  3. , но в других демонстрациях некоторые части просмотров, которые я не хочу будет показан [будет показан как показано справа]. (или в меньшем отображает некоторые детали, не показанные).
  4. so. Я хочу, чтобы только нужная коробка макета была видна в разных размерах дисплея и масштабировалась в соответствии с размерами дисплея.

К сожалению я знаю, проблема участвует;)

enter image description here

мне нужно только видимую часть макета масштабируется в различных размерах дисплея, а также хочет видов отделиться, чтобы оживить их. что один стрелок пример кода:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <ImageView 
     android:layout_width="4000dp" 
     android:layout_height="300dp" 
     android:rotation="15" 
     android:src="@drawable/rectangle" 
     android:layout_row="0" 
     android:layout_column="0" 
     android:id="@+id/img_rct_header" 
     android:layout_marginBottom="108dp" 
     android:layout_alignParentLeft="false" 
     android:layout_alignParentStart="false" 
     android:layout_marginLeft="-100dp" 
     android:layout_marginTop="-160dp" 
     android:layout_marginRight="-120dp" 
     android:clipChildren="false" 
     android:scaleType="fitXY" /> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="135dp" 
     android:rotation="195" 
     android:src="@drawable/arrow_tall" 
     android:id="@+id/img_arw_in_sore" 
     android:scaleType="fitXY" 
     android:layout_marginTop="815dp" 
     android:clipChildren="false" 
     android:layout_marginRight="-8450dp" 
     android:layout_marginLeft="25dp" 
     android:visibility="gone" /> 
    <ImageView 
     android:layout_width="500dp" 
     android:layout_height="150dp" 
     android:rotation="195" 
     android:src="@drawable/arrow_svg" 
     android:id="@+id/img_arw_in_tafsir" 
     android:scaleType="fitXY" 
     android:layout_marginBottom="-50dp" 
     android:layout_alignParentLeft="false" 
     android:layout_alignParentStart="false" 
     android:layout_marginLeft="161dp" 
     android:layout_marginTop="360dp" 
     android:layout_marginRight="-1150dp" 
     android:clipChildren="false"/> 
    <ImageView 
     android:layout_width="500dp" 
     android:layout_height="150dp" 
     android:rotation="195" 
     android:src="@drawable/arrow_svg" 
     android:scaleType="fitXY" 
     android:id="@+id/img_arw_out_tafsir" 
     android:layout_marginBottom="0dp" 
     android:layout_alignParentLeft="false" 
     android:layout_alignParentStart="false" 
     android:layout_marginLeft="-272dp" 
     android:layout_marginTop="240dp" 
     android:layout_marginRight="55dp" 
     android:clipChildren="false"/> 
    <ImageView 
     android:layout_width="4000dp" 
     android:layout_height="320dp" 
     android:rotation="15" 
     android:src="@drawable/rectangle" 
     android:layout_row="0" 
     android:layout_column="0" 
     android:id="@+id/img_rct_footer" 
     android:layout_marginBottom="-800dp" 
     android:layout_alignParentLeft="false" 
     android:layout_alignParentStart="false" 
     android:layout_marginLeft="-100dp" 
     android:layout_marginTop="550dp" 
     android:layout_marginRight="-120dp" 
     android:clipChildren="false" 
     android:scaleType="fitXY" /> 

</RelativeLayout> 

спасибо за помощь;)

+0

Загрузить свои изображения –

+0

По моим ответам нет ответа. Я нашел библиотеку, которая не решила мою проблему, но, возможно, решить некоторые проблемы, например: https://github.com/intuit/sdp/blob/master/sdp-android/src/main/res/layout/sdp_example.xml – Solivan

ответ

0

Ваш макет довольно сложным. Если все, что вы хотите, должно иметь это в качестве фона, который будет выглядеть одинаково в разных размерах экрана, я бы предложил вам отдельно выделить этот фон, сохранить его как высококачественный png, а затем поместить в один ImageView без всех хлопот полей и поворот.

+0

@ Соливан Извините, но я не совсем понял, что вы имеете в виду. Не могли бы вы объяснить больше? (Возможно, покажите более подробные изображения) – amitairos

+0

Я видел ваше редактирование. Пожалуйста, разместите весь xml, а не только этот образ. – amitairos

+0

еще раз спасибо, но проблема в том, что я хочу анимировать просмотры отдельно, и это невозможно с вашим решением. – Solivan

0

Вы должны установить фон макета для этого изображения, чтобы не показывать его в формате dp.

Размер дп подобен пикселу экрана и его становится все меньше и больше в других устройствах, попробуйте использовать значение match_parent вместо 4000dp

Лучший способ заключается в использовании приложений, как PicsArt или PicSay. Просто поместите все изображения в одной картине редактировать изображение затем сделать что фон всего макета с этими значениями

layout_width="match_parent" 
layout_height="match_parent" 

, но если вы хотите, чтобы оживить их, вы должны добавить макет раскладки и дать им layout_weight