2016-08-21 6 views
0

, dass mein Problem in relativ-Layout ist:Maßstab gesamtes Layout android

  1. Ich habe einige Bildansichten, die ein Teil eines jeden Bildansicht aus Display mit negativem Marge ist.
  2. Ich entwerfe dieses Layout in einer Display-Dimension, die auf der linken Seite angezeigt wird, und das ist in Ordnung.
  3. aber in anderen Anzeigedimensionen werden einige Teile von Ansichten, die ich nicht sehen möchte angezeigt werden [wie das rechte Bild]. (oder in kleineren zeigt einige Teile nicht gezeigt).
  4. so. Ich will nur Box von Layout wird in verschiedenen Display-Größen sichtbar sein und skaliert werden nach Anzeige Abmessungen.

Leider weiß ich das Problem beteiligt ist;)

enter image description here

Ich brauche nur sichtbaren Teil des Layouts in verschiedenen Displaygrößen skaliert, auch Ansichten getrennt sein will, dass sie zu animieren. , dass man Pfeile Beispielcode ist:

<?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> 

Dank für Ihre Hilfe;)

+0

hochladen Sie Ihre Bilder –

+0

Es scheint keine Antwort für meine Fragen zur Verfügung. Ich habe eine Bibliothek gefunden, die mein Problem nicht gelöst hat, aber vielleicht einige Probleme wie dieses Problem gelöst hat: https://github.com/intuit/sdp/blob/master/sdp-android/src/main/res/layout/sdp_example.xml – Solivan

Antwort

0

Ihr Layout ziemlich komplex ist. Wenn Sie dies nur als Hintergrund verwenden möchten, der in verschiedenen Bildschirmgrößen gleich aussieht, würde ich vorschlagen, dass Sie diesen Hintergrund separat zeichnen, ihn als hochqualitatives PNG speichern und dann in ein ImageView ohne alle einfügen der Aufwand von Margen und Rotation.

+0

@Solivan Es tut mir leid, aber ich habe nicht genau verstanden, was du meinst. Könntest du bitte mehr erklären? (Vielleicht detailliertere Bilder zeigen) – amitairos

+0

Ich sah Ihre Bearbeitung. Bitte posten Sie Ihre ganze XML, nicht nur diese Bildansicht. – amitairos

+0

Danke nochmal, aber das Problem ist, dass ich Ansichten separat animieren möchte und es mit deiner Lösung nicht geht. – Solivan

0

Sie müssen den Hintergrund des Layouts für dieses Bild festlegen, damit es nicht in DP angezeigt wird.

Die dp Größe ist wie der Pixel des Bildschirms und seiner in anderen Geräten kleiner und größer Versuchen Sie es mit dem Wert match_parent statt 4000dp

Der beste Weg ist apps wie PicsArt oder PicSay zu verwenden. Legen Sie einfach alle Bilder in einem Bild bearbeiten Sie das Bild dann machen, dass der Hintergrund des gesamten Layout mit diesen Werten

layout_width="match_parent" 
layout_height="match_parent" 

aber wenn man sie animieren möchten Sie das Layout in ein anderes Layout müssen hinzufügen und geben ihnen layout_weight