扩展整个布局android

时间:2016-08-21 04:39:40

标签: android xml android-layout layout relativelayout

这是我在相对布局中遇到的问题:

  1. 我有一些图像视图,每个图像视图的某些部分都不在 显示负边距。
  2. 我在左侧显示的显示尺寸中设计此布局 那没关系。
  3. 但在其他展示广告中,我不想要的一些观点 将显示[像右图]。 (或者更小的 显示一些未显示的部分。)
  4. 如此。我想只是想要的盒子布局将在不同的可见 显示尺寸并根据显示尺寸进行缩放。
  5. 抱歉,我知道问题涉及;)

    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>
    

    感谢您的帮助;)

2 个答案:

答案 0 :(得分:0)

你的布局非常复杂。如果您想要的是将它作为背景在不同的屏幕尺寸中看起来相同,我建议您单独绘制该背景,将其保存为高质量的png,然后将其放在一个ImageView中,而不是全部边际和轮换的麻烦。

答案 1 :(得分:0)

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

dp大小与屏幕像素一样,在其他设备中越来越小,尝试使用值private int maxSize; private char[] stackArray; private int top; 代替match_parent

最好的方法是使用像picsart或picsay这样的应用程序。只需将所有图片放在一张图片中即可编辑图片,然后使用这些值将整个布局的背景设为

4000dp

但是如果要为它们设置动画,则必须将布局添加到另一个布局 并给他们layout_width="match_parent" layout_height="match_parent"