我有一个RelativeLayout,里面有一个ImageView。 RelativeLayout是一个ListView行,它有一个填充集(该空间位于ListView的边缘和它的子RelativeLayout视图的边缘之间)。
我试图让RelativeLayout中的ImageView比使用负边距的行更宽。 设置负边距和禁用裁剪(一直向上)。 似乎没什么用。
代码示例(RelativeLayout在其边缘与屏幕边缘之间具有父级和空格):
<RelativeLayout
android:layout_width="match_parent"
android:clipChildren="false"
android:clipToPadding="false"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="-10dp"
android:layout_marginRight="-10dp" />
</RelativeLayout>
答案 0 :(得分:3)
尝试这样的事情(代码来自我正在处理的项目):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false">
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
tools:ignore="UselessParent"
android:layout_width="match_parent"
android:layout_height="45dp"
android:background="@drawable/dialog_heading_top_line"
android:clipChildren="false"
android:orientation="horizontal"
android:gravity="center_horizontal">
<ImageView
android:id="@+id/default_header_logo"
android:layout_width="167dp"
android:layout_height="72dp"
android:scaleType="center"
android:src="@drawable/default_header_logo"
android:contentDescription="@string/default_heading_logo" />
</LinearLayout>
</RelativeLayout>
看起来clip = false在RelativeLayout中并不能很好地工作,所以使用带子的LinearLayout - ImageView。
答案 1 :(得分:0)
对我来说,我起诉androidx.constraintlayout.widget.ConstraintLayout
,并设置android:clipToPadding="false"
,然后将孩子的边距设置为负,然后开始工作。
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingStart="@dimen/dp_16"
android:paddingEnd="@dimen/dp_16">
<View
android:id="@+id/gap"
android:layout_marginStart="-16dp"
android:layout_marginEnd="-16dp"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>