ScrollView中的Android保证金最高负值

时间:2015-10-16 05:11:31

标签: android material-design

我曾尝试在scrollview中为child提供负marginTop值。 但它没有按预期调整。它隐藏在滚动视图上方的布局下方。我想实现我在屏幕截图中提到的设计。特别是徽标在横幅上浮动75%,在横幅下浮动25%。任何人都可以提出你的想法。

我最近使用的是android支持设计库。

enter image description here

5 个答案:

答案 0 :(得分:2)

我刚刚实现了相同的布局设计。 我想和你分享。希望它会对你有所帮助。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFFFFF">

    <LinearLayout
        android:id="@+id/layoutActionbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/actionbar_background"
        android:orientation="horizontal">


        <TextView
            android:id="@+id/txtBack"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:background="@mipmap/back" />

        <TextView
            android:id="@+id/lblHeader"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left|center"
            android:layout_margin="5dp"
            android:text=""
            android:textColor="#FFFFFF"
            android:textSize="18sp"
            android:textStyle="bold" />

    </LinearLayout>

    <RelativeLayout
        android:id="@+id/layoutTop"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_below="@+id/layoutActionbar"
        android:background="#F0F0F0"
        android:gravity="center">

        <TextView
            android:id="@+id/txtTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/txtSubTitle"
            android:layout_centerHorizontal="true"
            android:gravity="center"
            android:lines="2"
            android:paddingLeft="50dp"
            android:paddingRight="50dp"
            android:text=""
            android:textSize="20sp" />

        <TextView
            android:id="@+id/txtSubTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:lines="2"
            android:paddingLeft="50dp"
            android:paddingRight="50dp"
            android:text=""
            android:textSize="20sp" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/layoutBottom"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_alignParentBottom="true"
        android:layout_below="@id/layoutTop">


        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">


                <TextView
                    android:id="@+id/textView2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_alignParentTop="true"
                    android:layout_marginLeft="22dp"
                    android:layout_marginStart="22dp"
                    android:layout_marginTop="40dp"
                    android:text="ADDITIONAL INFORMATION"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="#007DCE" />


                <TextView
                    android:id="@+id/txtDescreiption"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="22dp"
                    android:layout_marginRight="15dp"
                    android:layout_marginTop="15dp"
                    android:text=""
                    android:textAppearance="?android:attr/textAppearanceSmall" />


                <TextView
                    android:id="@+id/textView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_alignParentTop="true"
                    android:layout_marginLeft="22dp"
                    android:layout_marginStart="22dp"
                    android:layout_marginTop="20dp"
                    android:text="SOURCES and LINKS"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="#007DCE" />

                <TextView
                    android:id="@+id/txtWebsites"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="22dp"
                    android:layout_marginRight="15dp"
                    android:layout_marginTop="10dp"
                    android:layout_marginBottom="10dp"
                    android:autoLink="web"
                    android:text=""
                    android:textAppearance="?android:attr/textAppearanceSmall" />

            </LinearLayout>
        </ScrollView>
    </RelativeLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:layout_above="@id/layoutBottom"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="-20dp"
        android:adjustViewBounds="true"
        android:background="#F0F0F0">

        <ImageView
            android:id="@+id/favImage"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:src="@mipmap/ic_favourite_selected" />
    </LinearLayout>


</RelativeLayout>

答案 1 :(得分:2)

玩重量怎么样?

  <ScrollView

        ...>
        <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"
          android:weightSum="1"
          android:orientation="vertical"
          >
        <ImageView
            <!-- android:layout_marginTop="40dp" -->
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0.75"
            android:src="@drawable/ic_goeuro_logo"/>
        <ImageView android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0.25"
            android:src="@drawable/placeholder_logo"
            />

      </LinearLayout>
    </ScrollView>

答案 2 :(得分:0)

您可以使用RelativeLayout背景为transparent来实现此效果。

顶部的图标是布局中的顶部元素,列表如下所示。在sudo代码中,它可能看起来像这样

<RelativeLayout
    android:background="@background/myBannerImage"
    ...>
    <RelativeLayout
        android:marginTop="100dp"
        android:background="@color/transparent"
        ...>
        <ImageView
            android:centerInParent="true"
            android:elevation="15dp"
            .../>
        <LinearLayout
            android:elevation="5dp"
            android:centerInParent="true"
            android:marginTop="25dp" // depends on your image
            android:background="@color/white"
            ...>
            <!-- all the other views -->
        </LinearLayout>
    </RelativeLayout>
</RelativeLayout>

答案 3 :(得分:0)

如果您的问题是一个视图与另一个视图重叠,而它应该相反,您可以使用FrameLayout,其中View的顺序取决于您定义的顺序XML布局文件中的View。如果你有

<FrameLayout
 ...>
    <View id="@+id/viewA" ... />
    <View id="@+id/viewB" ... />
</FrameLayout>

然后视图B将位于视图A的顶部。

答案 4 :(得分:0)

FrameLayout ScrollView以及任何其他View,只有ScrollView才会回复TouchEvent并将焦点View的其余部分定位到您的首选位置位置

您可以随时使用FrameLayout.bringChildToFront(View v)来更改Z顺序