我曾尝试在scrollview中为child提供负marginTop值。 但它没有按预期调整。它隐藏在滚动视图上方的布局下方。我想实现我在屏幕截图中提到的设计。特别是徽标在横幅上浮动75%,在横幅下浮动25%。任何人都可以提出你的想法。
我最近使用的是android支持设计库。
答案 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顺序