2016-08-21 49 views
0

这是我的问题,相对布局:秤整个布局的Android

  1. 我有一些图像视图,每个ImageView的某些部分是出于 显示屏,切缘阴性的。
  2. 我在左侧 所示的显示尺寸中设计了此布局,这没关系。
  3. 但在其他显示尺寸中,我不想要显示 的部分视图将显示[如右图]。 (或者更小的 显示一些未显示的部分)。
  4. 等等。我想只是想要的布局框将显示在不同的 显示尺寸,并根据显示尺寸缩放。

对不起,我知道这个问题是涉及;)

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

@Solivan我很抱歉,但我不完全明白你的意思。你能解释更多吗? (也许显示更详细的图像) – amitairos

+0

我看到了你的编辑。请张贴您的整个xml,而不仅仅是imageview。 – amitairos

+0

再次感谢,但问题是我想单独制作动画视图,并且您的解决方案不可能。 – Solivan

0

您必须将布局的背景设置为该图片以便不显示在dp中。

的DP大小类似于屏幕的像素和它让其他设备更小和更大的请尝试使用4000dp

价值match_parent,而不是最好的办法是使用像PicsArt不仅或picsay应用。只要把所有的图片在一个图片编辑的图片,然后让整个布局与这些值的背景

layout_width="match_parent" 
layout_height="match_parent" 

,但如果你想制作动画,你必须将布局添加到另一个布局 ,并给他们layout_weight