我需要将顶部View
(包裹在FrameLayout
中)与顶部padding/margin
的ImageView
的顶部对齐。问题是此视图在ImageView
的填充/边距上方对齐。是否有任何方法可以忽略ImageView
的边距和填充,并将该视图与可见图像的顶部对齐?
android:layout_alignParentTop="true"
android:layout_alignTop="@id/stop_timeline_icon"
android:layout_above="@id/stop_timeline_icon"
参数只是推动了FrameLayout
的底部边缘以上的父。(所以我看不到它)
这就是我想要实现的目标。橙色线是我的FrameLayout
,灰色方块是我的图标,上边距为:
布局:
<RelativeLayout
android:id="@+id/clickArea"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:clipChildren="false"
android:background="@drawable/menu_selector_background">
<FrameLayout
android:id="@+id/stop_timeline_top_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@id/stop_timeline_icon"
android:layout_alignEnd="@id/stop_timeline_icon"
android:layout_alignParentTop="true"
android:layout_alignTop="@id/stop_timeline_icon"
android:layout_above="@id/stop_timeline_icon">
<View
android:id="@+id/stop_timeline_top"
android:layout_width="2dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/doveGrey" />
</FrameLayout>
<ImageView
android:id="@+id/stop_timeline_icon"
android:layout_marginTop="18dp"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:src="@drawable/stop_icon"
app:tint="@color/doveGrey"/>
</RelativeLayout>
2条答案
按热度按时间umuewwlo1#
你可以用margin来表示负dp,像这样
mkh04yzy2#
您需要向
FrameLayout
添加一个负边距,其方向与ImageView
的方向相反。由于ImageView边距为
android:layout_marginTop
,则添加android:layout_marginBottom
: